Je kunt spelen met de sql_mode
om het gedrag te veranderen hoe MySQL omgaat met de ongeldige datum.
Volgens de MySQL-handleiding , gebeurt dit wanneer u een onjuiste datumwaarde invoert:
Er wordt dus een nulwaarde ingevoegd en daar krijg je eigenlijk een waarschuwing over. Je kunt dat zien met de show warnings
commando.
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
U kunt dit gedrag wijzigen om de ongeldige waarde op te slaan, indien nodig (MySQL-handleiding ):
Het volgende zou bijvoorbeeld moeten werken:
set @@sql_mode='allow_invalid_dates';
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
Of u kunt ook het gedrag wijzigen van gegevens laden of voeg in om de fout te melden:
Voorbeeld:
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