Jeg opdagede efter opgradering til MySQL 5.7, at denne fejl begyndte at opstå i tilfældige situationer, selv når jeg ikke opgav en dato i forespørgslen.
Dette ser ud til at være fordi forrige versioner af MySQL-understøttede datoer som 0000-00-00 00:00:00
(som standard) 5.7.4 introducerede dog nogle ændringer til NO_ZERO_DATE
indstilling. Hvis du stadig har gamle data til stede, når du bruger en nyere MySQL-version, kan der dukke tilfældige fejl op.
Jeg var nødt til at udføre en forespørgsel som denne for at nulstille alle nuldatoer til en anden dato.
# 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';
Alternativt kan du muligvis justere NO_ZERO_DATE
indstilling, men bemærk hvad dokumenterne siger om det: