Po aktualizacji do MySQL 5.7 odkryłem, że ten błąd zaczął pojawiać się w losowych sytuacjach, nawet jeśli nie podałem daty w zapytaniu.
Wygląda na to, że poprzedni obsługiwane wersje MySQL, takie jak 0000-00-00 00:00:00
(domyślnie) jednak 5.7.4 wprowadził pewne zmiany w NO_ZERO_DATE
ustawienie. Jeśli podczas korzystania z nowszej wersji MySQL nadal masz stare dane, mogą pojawić się przypadkowe błędy.
Musiałem wykonać takie zapytanie, aby zresetować wszystkie daty zerowe do innej daty.
# 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';
Alternatywnie możesz dostosować NO_ZERO_DATE
ustawienie, ale zwróć uwagę, co mówią o nim dokumenty: