Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum erhalte ich im MySQL STRICT-Modus die Fehlermeldung „Feld hat keinen Standardwert'?

Susan Sarandon
Freigeben: 2024-11-05 12:40:02
Original
872 Leute haben es durchsucht

Why am I getting the

Fehler im MySQL-STRICT-Modus: 1364 „Feld hat keinen Standardwert“

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
Nach dem Login kopieren

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.

Lösung

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:

  1. Vorübergehende Änderung:Führen Sie den folgenden Befehl in Ihrer MySQL-Konsole aus:

    SET GLOBAL sql_mode='';
    Nach dem Login kopieren

    Dadurch wird STRICT vorübergehend deaktiviert Modus für alle nachfolgenden Abfragen.

  2. Permanente Änderung: Bearbeiten Sie Ihre MySQL-Konfigurationsdatei (my.cnf). Suchen Sie die Einstellung „sql_mode“ und stellen Sie sicher, dass STRICT_ALL_TABLES oder eine andere Option für den strikten Modus nicht vorhanden ist. Wenn Sie sie finden, kommentieren Sie diese Optionen aus oder entfernen Sie sie.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!