Ik ontdekte na het upgraden naar MySQL 5.7 dat deze fout zich voordeed in willekeurige situaties, zelfs als ik geen datum opgaf in de query.
Dit lijkt te zijn omdat vorige versies van MySQL ondersteunde datums zoals 0000-00-00 00:00:00
(standaard) 5.7.4 heeft echter enkele wijzigingen aangebracht in de NO_ZERO_DATE
instelling. Als je nog steeds oude gegevens hebt wanneer je een nieuwere MySQL-versie gebruikt, kunnen er willekeurige fouten opduiken.
Ik moest een dergelijke zoekopdracht uitvoeren om alle nuldatums naar een andere datum te resetten.
# If the columns supports NULL, use that
UPDATE table SET date_column = NULL WHERE date_column < '1000-01-01';
# Otherwise supply another default date
UPDATE table SET date_column = '1970-01-01' WHERE date_column < '1000-01-01';
U kunt ook de NO_ZERO_DATE
. aanpassen instelling, maar let op wat de documenten erover zeggen: