Po upgradu na MySQL 5.7 jsem zjistil, že tato chyba se začala vyskytovat v náhodných situacích, i když jsem v dotazu neuváděl datum.
Zdá se, že je to proto, že předchozí verze MySQL podporovaná data jako 0000-00-00 00:00:00
(ve výchozím nastavení) však 5.7.4 zavedlo některé změny do NO_ZERO_DATE
nastavení. Pokud máte při používání novější verze MySQL stále stará data, mohou se objevit náhodné chyby.
Potřeboval jsem provést dotaz, jako je tento, abych resetoval všechna nulová data na jiné 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';
Případně můžete upravit NO_ZERO_DATE
nastavení, i když si všimněte, co o něm říkají dokumenty: