sql >> Database >  >> RDS >> Mysql

mysql voegt een lege datum in als de datum niet correct is

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



  1. Dubbele rijen verwijderen in SQL Server

  2. mysql categorieën en subcategorieën lijst

  3. Verbeter de prestaties van UDF's met NULL ON NULL INPUT

  4. MS SQL Server kruistabelbeperking