Pierwsza opcja:
To ostrzeżenie prawdopodobnie może być spowodowane SQL_MODE
.
Zgodnie z dokumentacją mysql "Jeśli włączony jest tryb SQL NO_ZERO_DATE lub NO_ZERO_IN_DATE, daty zerowe lub część dat są niedozwolone." Więc może to być przyczyną twojego INSERT
z „0000-00-00 00:00:00” nie powiedzie się.
Możesz sprawdzić swój tryb sql, wykonując to:
SELECT @@sql_mode;
i jeśli którykolwiek z NO_ZERO_DATE
lub NO_ZERO_IN_DATE
są ustawione, możesz po prostu:
SET sql_mode = '';
Druga opcja
Inną opcją jest to, że kończy się niepowodzeniem z powodu STRICT_TRANS_TABLES
mode.Jak mówi dokumentacja mysql:
To samo dotyczy daty i godziny.
Musisz więc albo wyłączyć TRYB ŚCISŁY LUB jeśli wyłączenie nie jest opcją - zmodyfikuj zapytanie, aby nie zwracało nieprawidłowej daty/godziny