Bei einer kürzlichen Migration von MAMP zu Apache, MySQL und PHP wurden INSERT-Befehle ausgeführt führte plötzlich zu folgendem Fehler:
SQLSTATE[HY000]: General error: 1364 Field 'display_name' doesn't have a default value
Dieses Problem entstand aufgrund einer Änderung im Standardverhalten von MySQL. In MySQL-Version 5.6.13 ist häufig der STRICT-Modus aktiviert, der strengere Regeln für die Datenvalidierung erzwingt. Dadurch können Felder ohne Standardwerte beim Einfügen nicht mehr leer bleiben.
Um dieses Problem zu beheben, ist es notwendig, die Einstellung für den MySQL STRICT-Modus zu ändern. Es gibt zwei mögliche Lösungen:
Vorübergehende Änderung:Führen Sie den folgenden Befehl in Ihrer MySQL-Konsole aus:
SET GLOBAL sql_mode='';
Dadurch wird STRICT vorübergehend deaktiviert Modus für alle nachfolgenden Abfragen.
Nachdem Sie eine dieser Änderungen vorgenommen haben, starten Sie den MySQL-Server neu. Die INSERT-Befehle sollten erfolgreich ausgeführt werden, ohne dass der Fehler „Feld hat keinen Standardwert“ auftritt .
Das obige ist der detaillierte Inhalt vonWarum erhalte ich im MySQL STRICT-Modus die Fehlermeldung „Feld hat keinen Standardwert“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!