Vous pouvez jouer avec le sql_mode
pour modifier le comportement de la manière dont MySQL gère la date invalide.
Selon le Manuel MySQL , cela se produit lorsque vous insérez une valeur de date incorrecte :
Ainsi, une valeur nulle est insérée et vous obtenez en fait un avertissement à ce sujet. Vous pouvez le voir avec le show warnings
commande.
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
Vous pouvez modifier ce comportement pour stocker la valeur non valide, si nécessaire (Manuel MySQL ):
Par exemple, ce qui suit devrait fonctionner :
set @@sql_mode='allow_invalid_dates';
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
Ou, vous pouvez également modifier le comportement de charger les données ou insérez pour signaler l'erreur :
Exemple :
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