Dzieje się tak z powodu trybu SQL NO_ZERO_DATE
. Powinieneś to zobaczyć, gdy Anand Rockzz połączył się z instrukcją, ale ten link to tylko połowa wyjaśnienia. Od wersji MySQL 5.7.4 to ustawienie jest przestarzałe. W pierwszym przykładzie ustawiasz datę; w drugim NO_ZERO_DATE
powoduje zwrócenie wartości NULL, ponieważ nie określasz daty. Począwszy od 5.7.8, NO_ZERO_DATE
i NO_ZERO_IN_DATE
zostały dołączone z domyślną wartością sql_mode. Zgodnie z instrukcją , wygląda na to, że wycofanie i usunięcie zostało częściowo cofnięte (począwszy od 5.7.8), więc możesz być w stanie jawnie ustawić to w swoim my.cnf
(lub na sesję).
Należy również zapoznać się z instrukcją dotyczącą NO_ZERO_DATE dyrektywa.