Sie können mit dem sql_mode
spielen um das Verhalten zu ändern, wie MySQL mit dem ungültigen Datum umgeht.
Gemäß dem MySQL-Handbuch , dies passiert, wenn Sie einen falschen Datumswert einfügen:
Es wird also ein Nullwert eingefügt und Sie erhalten tatsächlich eine Warnung darüber. Sie können das mit show warnings
sehen Befehl.
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
show warnings
-- Warning 1264 Out of range value for column 'date' at row 1
Sie können dieses Verhalten ändern, um den ungültigen Wert bei Bedarf zu speichern (MySQL-Handbuch ):
Folgendes sollte beispielsweise funktionieren:
set @@sql_mode='allow_invalid_dates';
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
Oder Sie können auch das Verhalten von Daten ladenändern. a> oder einfügen, um den Fehler zu melden:
Beispiel:
set @@sql_mode='traditional';
insert into TableName (`date`) values ('2015-02-29');
Error Code: 1292. Incorrect date value: '2015-02-29' for column 'date' at row 1