Hướng dẫn how do i fix incorrect datetime value in mysql? - làm cách nào để sửa giá trị ngày giờ không chính xác trong mysql?


Để tránh lỗi giá trị DateTime không chính xác, bạn có thể sử dụng phương thức str_to_date ().

Như chúng ta đã biết định dạng DateTime là yyyy-mm-dd và nếu bạn thắng chèn trong cùng một định dạng, lỗi sẽ được tạo ra.

Hãy cho chúng tôi xem những gì thực sự dẫn đến lỗi này. Đối với điều này, chúng ta hãy tạo một bảng mới. Truy vấn để tạo bảng như sau

mysql> create table CorrectDatetimeDemo
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > ArrivalTime datetime
   - > );
Query OK, 0 rows affected (0.63 sec)

Xảy ra khi chúng ta cố gắng bao gồm một ngày có định dạng DateTime không chính xác

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1

Để tránh lỗi trên, bạn có thể sử dụng str_to_date ().

Cú pháp như sau

INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));

Bây giờ, chúng ta hãy chèn DateTime một lần nữa với định dạng chính xác như được hiển thị trong cú pháp trên.

Truy vấn như sau

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh CHỌN.

Truy vấn như sau

mysql> select *from CorrectDatetimeDemo;

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh CHỌN.

+----+---------------------+
| Id | ArrivalTime         |
+----+---------------------+
|  1 | 2019-02-18 11:15:45 |
|  2 | 2017-01-15 10:10:15 |
|  3 | 2016-04-12 15:30:35 |
+----+---------------------+
3 rows in set (0.00 sec)

Hướng dẫn how do i fix incorrect datetime value in mysql? - làm cách nào để sửa giá trị ngày giờ không chính xác trong mysql?

Sau đây là đầu ra

  • Cập nhật vào ngày 30 tháng 3 năm 2019 22:30:25
  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để chuyển đổi giá trị dương thành âm trong khi chèn vào MySQL?
  • Hiển thị lỗi trong khi chèn bản ghi trùng lặp vào bảng MySQL
  • Chúng ta có thể sử dụng từ khóa khoảng trong khi chèn các bản ghi ngày vào bảng MySQL không?
  • Chèn Datetime hiện tại trong MongoDB?
  • Định dạng ngày trong khi chèn các bản ghi trong mysql
  • Khắc phục lỗi trong cú pháp MySQL trong khi tạo một cột bảng có tên chỉ mục.
  • Khắc phục lỗi 1064 (42000) trong khi tạo cơ sở dữ liệu trong MySQL?
  • Chèn số ngẫu nhiên vào một bảng trong mysql?
  • Làm thế nào để cập nhật định dạng dấu thời gian không chính xác trong bảng DB2?
  • Cập nhật các giá trị ngày và thời gian trong khi chèn chúng vào MySQL
  • Đặt giá trị cụ thể của cột mà không cần sử dụng cập nhật và trong khi chèn các giá trị vào MySQL
  • Chúng ta có thể bỏ qua một tên cột trong khi chèn các giá trị vào MySQL không?
  • Khắc phục lỗi MySQL 1075 (42000): Định nghĩa bảng không chính xác; chỉ có thể có một cột tự động và nó phải được định nghĩa là khóa
  • Khắc phục Chế độ xem bảng thả #1051 Lỗi bảng không xác định trong MySQL

51

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Giá trị DateTime không chính xác 0000-00-00 00:00:00 +0000 Số lỗi cơ sở dữ liệu: 1292

Xin chào mọi người, tôi đang gặp sự cố A với việc nâng cấp máy chủ được thực hiện bởi công ty lưu trữ của tôi và tôi đang cố gắng hiểu những gì đang xảy ra để tôi có thể khắc phục sự cố

SEV của tôi gần đây đã được nâng cấp lên phiên bản máy chủ: 5.6.17 và tôi đang gặp lỗi ở khắp nơi nói rằng giá trị DateTime của tôi không chính xác?

Nó dường như được thêm +0000 vào cuối DateTime nhưng tôi không chắc tại sao. Điều này được sử dụng để hoạt động hoàn toàn tốt trên 5.5 nhưng một bản nâng cấp gần đây đã ảnh hưởng đến cách thức thời gian của tôi hoạt động

Error Number: 1292

Incorrect datetime value: '2014-04-02 08:49:43 +0000' for column 'created' at row 1

INSERT INTO `activitylog` (`tablename`, `row`, `user_id`, `description`, `action`, `private`,`created`) VALUES ('user', '1', '1', 'People', 'Updated', 0, '2014-04-02 08:49:43 +0000')

Nếu tôi sửa đổi truy vấn SQL này mà không có +0000 thì nó hoạt động?

Nó ảnh hưởng đến bất cứ điều gì là một loại dữ liệu trên bảng của tôi.

Có ai khác có một vấn đề tương tự và bây giờ giải pháp là gì để làm cho việc này hoạt động. Hiện tại tôi sẽ phải thay đổi tất cả các chức năng PHP của mình thành tiếng vang ngày/giờ thay vì tôi gọi ngay bây giờ () trên chuỗi truy vấn

Hướng dẫn how do i fix incorrect datetime value in mysql? - làm cách nào để sửa giá trị ngày giờ không chính xác trong mysql?

Sadikhasan

Huy hiệu vàng 18K2078 Huy hiệu bạc118 Huy hiệu đồng20 gold badges78 silver badges118 bronze badges

Hỏi ngày 2 tháng 4 năm 2014 lúc 9:21Apr 2, 2014 at 9:21

Hướng dẫn how do i fix incorrect datetime value in mysql? - làm cách nào để sửa giá trị ngày giờ không chính xác trong mysql?

3

Tôi đã phát hiện ra sau khi nâng cấp lên MySQL 5.7 rằng lỗi này bắt đầu xảy ra trong các tình huống ngẫu nhiên, ngay cả khi tôi không cung cấp một ngày trong truy vấn.

Điều này dường như là do các phiên bản trước của các ngày được hỗ trợ của MySQL như

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
5 (theo mặc định) tuy nhiên 5,7.4 đã giới thiệu một số thay đổi đối với cài đặt
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
6. Nếu bạn vẫn có dữ liệu cũ có mặt khi sử dụng phiên bản MySQL mới hơn, thì các lỗi ngẫu nhiên có thể tăng lên.

Tôi cần phải thực hiện một truy vấn như thế này để đặt lại tất cả các ngày không về ngày khác.

# If the columns supports NULL, use that
UPDATE table SET date_column = NULL WHERE date_column < '1000-01-01';

# Otherwise supply another default date
UPDATE table SET date_column = '1970-01-01' WHERE date_column < '1000-01-01';

Ngoài ra, bạn có thể điều chỉnh cài đặt

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
6, mặc dù lưu ý những gì các tài liệu nói về nó:

Chế độ

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
6 ảnh hưởng đến việc máy chủ cho phép '0000-00-00' là một ngày hợp lệ. Hiệu ứng của nó cũng phụ thuộc vào việc chế độ SQL nghiêm ngặt được bật.

  • Nếu chế độ này không được bật, '0000-00-00' được cho phép và chèn không tạo ra cảnh báo.

  • Nếu chế độ này được bật, '0000-00-00' được cho phép và chèn tạo ra một cảnh báo.

  • Nếu chế độ và chế độ nghiêm ngặt này được bật, '0000-00-00' không được phép và chèn tạo ra một lỗi, trừ khi bỏ qua cũng được đưa ra. Đối với

    mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
    ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
    9 và
    INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
    0, '0000-00-00' được cho phép và chèn tạo ra một cảnh báo.

Kể từ MySQL 5.7.4,

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
6 không được chấp nhận. Trong MySQL 5.7.4 đến 5.7.7,
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
6 không làm gì khi được đặt tên một cách rõ ràng. Thay vào đó, hiệu ứng của nó được bao gồm trong các hiệu ứng của chế độ SQL nghiêm ngặt. Trong MySQL 5.7.8 trở lên,
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
6 có ảnh hưởng khi được đặt tên rõ ràng và không phải là một phần của chế độ nghiêm ngặt, như trước đây MySQL 5.7.4. Tuy nhiên, nó nên được sử dụng cùng với chế độ nghiêm ngặt và được bật theo mặc định. Cảnh báo xảy ra nếu
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
6 được bật mà không cho phép chế độ nghiêm ngặt hoặc ngược lại. Để thảo luận bổ sung, xem Chế độ SQL thay đổi trong MySQL 5.7.

Bởi vì

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
6 không được chấp nhận, nó sẽ bị xóa trong bản phát hành MySQL trong tương lai dưới dạng tên chế độ riêng biệt và hiệu ứng của nó có trong các hiệu ứng của chế độ SQL nghiêm ngặt.

Từ http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date

Đã trả lời ngày 30 tháng 6 năm 2016 lúc 6:38Jun 30, 2016 at 6:38

Simon Eastsimon ĐôngSimon East

52.7K17 Huy hiệu vàng135 Huy hiệu bạc131 Huy hiệu đồng17 gold badges135 silver badges131 bronze badges

3

Ok, vì vậy tôi đã gặp lỗi tương tự. Những gì tôi đã làm để khắc phục nó là sử dụng các dòng mã này để truy vấn cơ sở dữ liệu mà tôi gặp phải:

SELECT @@GLOBAL.sql_mode global, @@SESSION.sql_mode session;
SET sql_mode = '';
SET GLOBAL sql_mode = '';

Dòng mã đầu tiên (chọn) là xem cài đặt hiện tại cho cả 'phiên' và 'toàn cầu'. Khi bạn đặt cả hai thành các chuỗi trống và chạy lại chọn, chúng sẽ không trả lại gì (trống rỗng).

Bạn cũng có thể cần sử dụng

INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
6 nhưng điều này đã giải quyết vấn đề cho tôi. Về cơ bản, một trong những cài đặt trong đó đã tăng cường cách ngày đi vào cơ sở dữ liệu (tôi đã nhận được nó trong định dạng 'Yyyy-MM-DD HH: MM: SS AM/PM'). Xóa
INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
7 và tùy chọn ngày khác không giúp tôi.

Trang web của tôi đang hoạt động như bây giờ. Hy vọng rằng điều này sẽ giúp.

Đã trả lời ngày 15 tháng 7 năm 2017 lúc 1:26Jul 15, 2017 at 1:26

callmejedcallmejedcallmejed

3513 Huy hiệu bạc4 Huy hiệu đồng3 silver badges4 bronze badges

5

Tôi đã phải đối mặt với vấn đề tương tự.

Tôi chạy theo lệnh bên dưới và nó đã làm việc cho tôi.

SET SESSION SQL_MODE='ALLOW_INVALID_DATES'

Đã trả lời ngày 6 tháng 3 năm 2020 lúc 8:15Mar 6, 2020 at 8:15

Hướng dẫn how do i fix incorrect datetime value in mysql? - làm cách nào để sửa giá trị ngày giờ không chính xác trong mysql?

OmkaromkarOmkar

2.9853 huy hiệu vàng18 Huy hiệu bạc34 Huy hiệu đồng3 gold badges18 silver badges34 bronze badges

2

Câu trả lời ngắn -

INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
8 Trong truy vấn của bạn sẽ hoạt động hoàn toàn tốt với cột MySQL
INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
9.

Câu trả lời dài hơn - Tôi không chắc bạn đã thấy

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
0 hoạt động như thế nào. Cột
INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
9 được định dạng là
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
2. Khi nói đến sự khác biệt về thời gian, nó thường là thứ bạn cần xử lý theo chương trình. MySQL chuyển thời gian cục bộ thành UTC và quay lại khi lưu trữ và truy xuất dữ liệu
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
3 - nhưng nó không làm điều này với
INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
9 hoặc các cột ngày / giờ khác.

Smar

7.5612 Huy hiệu vàng35 Huy hiệu bạc47 Huy hiệu đồng2 gold badges35 silver badges47 bronze badges

Đã trả lời ngày 2 tháng 4 năm 2014 lúc 9:38Apr 2, 2014 at 9:38

RagdataragdataRagdata

1.1487 Huy hiệu bạc16 Huy hiệu đồng7 silver badges16 bronze badges

3

Bản gốc My.cnf đã đặt SQL_Model như sau:

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
0

Tôi đã thử loại bỏ NO_ZERO_IN_DATE và NO_ZERO_DATE nhưng nó không có tác dụng. Nhưng nếu tôi xóa tất cả các điều khoản (trống SQL_Mode) thì lỗi đã biến mất.

Tôi đã quay lại SQL_Mode gốc và nghĩ rằng tôi sẽ xóa các điều khoản 1 x 1 để xem cái nào là nguyên nhân. Nỗ lực đầu tiên là loại bỏ strict_trans_tables:

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
1

Không có lỗi. Vì vậy, có vẻ như strict_trans_tables là nguyên nhân.

Đã trả lời ngày 26 tháng 8 năm 2018 lúc 17:57Aug 26, 2018 at 17:57

RDVSRDVSRDVS

Huy hiệu bạc 9111 silver badge1 bronze badge

1

Số cơ sở dữ liệu giá trị DateTime không chính xác Số cơ sở dữ liệu: 1292

Kiểu dữ liệu

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
3 được sử dụng cho các giá trị có chứa cả phần ngày và phần thời gian.
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
3 có phạm vi
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
7 đến
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
8.

Loại

INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
9 được sử dụng cho các giá trị có chứa cả phần ngày và thời gian. MySQL truy xuất và hiển thị các giá trị
INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
9 ở định dạng
mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('18/02/2019 11:15:45','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.21 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('15/01/2017 10:10:15','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.16 sec)

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values(STR_TO_DATE('12/04/2016 15:30:35','%d/%m/%Y %H:%i:%s'));
Query OK, 1 row affected (0.20 sec)
2. Phạm vi được hỗ trợ là
mysql> select *from CorrectDatetimeDemo;
2.

Bạn nên sử dụng loại này trong: định dạng DateTime

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
2

https://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html

https://dev.mysql.com/doc/refman/5.0/en/datetime.html

http://bugs.mysql.com/bug.php?id=70188

Cập nhật: 1

Bạn nên xóa

mysql> select *from CorrectDatetimeDemo;
3 như mã
mysql> select *from CorrectDatetimeDemo;
4 của bạn và thay đổi mã như
mysql> select *from CorrectDatetimeDemo;
5 như truy vấn đầy đủ theo sau như:

mysql> insert into CorrectDatetimeDemo(ArrivalTime) values('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1
3

Nhìn vào đây: http://sqlfiddle.com/#!2/A2581/23099

Đã trả lời ngày 2 tháng 4 năm 2014 lúc 9:34Apr 2, 2014 at 9:34

jmailjmailjmail

5,8043 Huy hiệu vàng19 Huy hiệu bạc35 Huy hiệu Đồng3 gold badges19 silver badges35 bronze badges

2

Tôi đã phải đối mặt với vấn đề tương tự nhưng khi tôi áp dụng mã được đăng bởi @jedthemarine như được thấy dưới đây, nó đã giải quyết trường hợp của tôi.

Trường hợp của tôi là cụ thể

Lỗi Bản ghi cập nhật: Giá trị DateTime không chính xác '2022-04-03 12:00:00 AM' cho cột 'xxx' tại hàng 39

SELECT @@GLOBAL.sql_mode global, @@SESSION.sql_mode session;
SET sql_mode = '';
SET GLOBAL sql_mode = '';

Đã trả lời ngày 3 tháng 4 lúc 2:41Apr 3 at 2:41

Hoàng tử Michaelprince MichaelPrince Michael

853 Huy hiệu vàng3 Huy hiệu bạc10 Huy hiệu đồng3 gold badges3 silver badges10 bronze badges

Làm cách nào để khắc phục giá trị DateTime không chính xác?

Để tránh lỗi giá trị DateTime không chính xác, bạn có thể sử dụng phương thức str_to_date (). Như chúng ta đã biết định dạng DateTime là yyyy-mm-dd và nếu bạn sẽ không chèn theo cùng một định dạng, lỗi sẽ được tạo ra. Để tránh lỗi trên, bạn có thể sử dụng str_to_date ().use the STR_TO_DATE() method. As we know the datetime format is YYYY-MM-DD and if you won't insert in the same format, the error would get generated. To avoid the above error, you can use STR_TO_DATE().

Định dạng DateTime chính xác cho MySQL là gì?

MySQL truy xuất và hiển thị các giá trị DateTime trong định dạng 'yyyy-mm-dd hh: mm: ss'.Phạm vi được hỗ trợ là '1000-01-01 00:00:00' đến '9999-12-31 23:59:59'.Kiểu dữ liệu dấu thời gian được sử dụng cho các giá trị có chứa cả phần ngày và thời gian.YYYY-MM-DD hh:mm:ss ' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59' . The TIMESTAMP data type is used for values that contain both date and time parts.

Làm cách nào để định dạng một ngày trong mysql?

Hàm Date_Format () trong MySQL được sử dụng để định dạng một ngày được chỉ định là giá trị định dạng đã cho, tức là ngày sẽ được đưa ra và hàm này sẽ định dạng ngày đó dưới dạng tham số định dạng được chỉ định.Tham số: Hàm này chấp nhận hai tham số như được đưa ra dưới đây: Ngày - Ngày được chỉ định sẽ được định dạng. in MySQL is used to format a specified date as given format value i.e., a date will be given and this function will format that date as specified format parameters. Parameter : This function accepts two parameters as given below : date – Specified date to be formatted.

Chúng ta có thể thay đổi định dạng ngày trong mysql không?

MySQL sử dụng định dạng Yyyy-MM-DD để lưu trữ giá trị ngày.Định dạng này được cố định và không thể thay đổi nó.Ví dụ: bạn có thể thích sử dụng định dạng MM-DD-Yyyy nhưng bạn không thể.Thay vào đó, bạn tuân theo định dạng ngày tiêu chuẩn và sử dụng hàm DATE_FORMAT để định dạng ngày theo cách bạn muốn.it is not possible to change it. For example, you may prefer to use mm-dd-yyyy format but you can't. Instead, you follow the standard date format and use the DATE_FORMAT function to format the date the way you want.