Jag upptäckte efter uppgraderingen till MySQL 5.7 att det här felet började inträffa i slumpmässiga situationer, även när jag inte angav ett datum i frågan.
Det verkar bero på att föregående versioner av MySQL-stödda datum som 0000-00-00 00:00:00
(som standard) men 5.7.4 införde några ändringar i NO_ZERO_DATE
miljö. Om du fortfarande har gamla data närvarande när du använder en nyare MySQL-version, kan slumpmässiga fel dyka upp.
Jag behövde utföra en fråga som denna för att återställa alla nolldatum till ett annat datum.
# 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';
Alternativt kan du kanske justera NO_ZERO_DATE
inställning, men notera vad dokumenten säger om det: