Descobri depois de atualizar para o MySQL 5.7 que esse erro começou a ocorrer em situações aleatórias, mesmo quando eu não estava fornecendo uma data na consulta.
Isso parece ser porque anterior versões de datas compatíveis com MySQL, como
0000-00-00 00:00:00
(por padrão) no entanto 5.7.4 introduziu algumas mudanças no NO_ZERO_DATE
contexto. Se você ainda tiver dados antigos presentes ao usar uma versão mais recente do MySQL, erros aleatórios podem surgir. Eu precisava realizar uma consulta assim para redefinir todas as datas zero para outra data.
# 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';
Como alternativa, você pode ajustar o
NO_ZERO_DATE
configuração, embora observe o que os documentos dizem sobre isso: