Untuk mengelakkan ralat nilai tarikh masa yang salah, anda boleh menggunakan kaedah STR_TO_DATE(). dapatkan dijana.
Mari kita lihat apa yang sebenarnya membawa kepada ralat ini, mari kita buat jadual baharu. format
mysql> create table CorrectDatetimeDemo - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > ArrivalTime datetime - > ); Query OK, 0 rows affected (0.63 sec)
Untuk mengelakkan ralat di atas, anda boleh menggunakan STR_TO_DATE().
Sintaks adalah seperti berikut
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
Sekarang, mari kita masukkan tarikh masa sekali lagi dengan format yang betul seperti yang ditunjukkan dalam sintaks di atas.
Pertanyaan adalah seperti berikut
INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue','%d/%m/%Y %H:%i:%s'));
Gunakan pernyataan pilih untuk memaparkan semua rekod dalam jadual.
Pertanyaan adalah seperti berikut
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)
Berikut adalah hasil output
mysql> select *from CorrectDatetimeDemo;
Atas ialah kandungan terperinci Bagaimana untuk membetulkan nilai datetime yang salah apabila memasukkan ke dalam jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!