Dit komt inderdaad door de SQL-modus NO_ZERO_DATE
. Dat had je moeten zien toen Anand Rockzz naar de handleiding linkte, maar die link is maar de helft van de uitleg. Vanaf MySQL 5.7.4 is de instelling verouderd. In je eerste voorbeeld stel je een datum vast; in de tweede, NO_ZERO_DATE
veroorzaakt de terugkeer van NULL omdat u geen datum opgeeft. Beginnend met 5.7.8, NO_ZERO_DATE
en NO_ZERO_IN_DATE
zijn opgenomen in de standaard sql_mode-waarde. Volgens de handleiding , lijkt het alsof de beëindiging en verwijdering gedeeltelijk zijn teruggedraaid (beginnend met 5.7.8), dus je kunt dit mogelijk expliciet instellen in je my.cnf
(of per sessie).
Raadpleeg ook de handleiding met betrekking tot de NO_ZERO_DATE richtlijn.