След надграждане до MySQL 5.7 открих, че тази грешка е започнала да се появява в случайни ситуации, дори когато не съм посочил дата в заявката.
Изглежда, че това се дължи на предишен версии на MySQL поддържани дати като 0000-00-00 00:00:00
(по подразбиране) обаче 5.7.4 въведе някои промени в NO_ZERO_DATE
настройка. Ако все още имате стари данни, когато използвате по-нова версия на MySQL, може да се появят случайни грешки.
Трябваше да изпълня заявка като тази, за да нулирам всички нулеви дати на друга дата.
# 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';
Като алтернатива може да успеете да коригирате NO_ZERO_DATE
настройка, въпреки че имайте предвид какво казват документите за него: