Ciò è effettivamente dovuto alla modalità SQL NO_ZERO_DATE
. Avresti dovuto vederlo quando Anand Rockzz si è collegato al manuale, ma quel collegamento è solo metà della spiegazione. A partire da MySQL 5.7.4, l'impostazione è obsoleta. Nel tuo primo esempio, stai impostando una data; nel secondo, NO_ZERO_DATE
provoca il ritorno di NULL perché non stai specificando una data. A partire da 5.7.8, NO_ZERO_DATE
e NO_ZERO_IN_DATE
sono stati inclusi con il valore sql_mode predefinito. Secondo il manuale , sembra che il ritiro e la rimozione siano stati parzialmente ripristinati (a partire da 5.7.8), quindi potresti essere in grado di impostarlo esplicitamente nel tuo my.cnf
(o per sessione).
Dovresti anche fare riferimento al manuale relativo a NO_ZERO_DATE direttiva.