Después de actualizar a MySQL 5.7, descubrí que este error comenzaba a ocurrir en situaciones aleatorias, incluso cuando no proporcionaba una fecha en la consulta.
Esto parece deberse a que anterior versiones de fechas compatibles con MySQL como 0000-00-00 00:00:00
(por defecto), sin embargo, 5.7.4 introdujo algunos cambios en NO_ZERO_DATE
entorno. Si aún tiene datos antiguos presentes cuando usa una versión más nueva de MySQL, es posible que surjan errores aleatorios.
Necesitaba realizar una consulta como esta para restablecer todas las fechas cero a otra fecha.
# 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';
Alternativamente, puede ajustar el NO_ZERO_DATE
configuración, aunque tenga en cuenta lo que dicen los documentos al respecto: