Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich in MySQL die Fehlermeldung „Ungültiger Standardwert für ‚created_at''?

Warum erhalte ich in MySQL die Fehlermeldung „Ungültiger Standardwert für ‚created_at''?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 08:02:13229Durchsuche

Why Am I Getting an

Ungültiger Standardwert für „created_at“-Fehler in MySQL

Beim Versuch, eine Tabelle zu ändern, wird die folgende Fehlermeldung angezeigt:

ERROR 1067 (42000): Invalid default value for 'created_at'

Dieser Fehler tritt normalerweise auf, wenn die Zeitstempelspalte geändert wird. In diesem Fall tritt er jedoch beim Hinzufügen einer neuen Spalte auf. Die betroffene Tabelle hat als letzte beiden Einträge die Spalten „created_at“ und „updated_at“.

Lösung

Die Ursache dieses Fehlers liegt in den SQL-Moduseinstellungen. Um das Problem zu beheben, überprüfen Sie den aktuellen SQL-Modus mit dem folgenden Befehl:

show variables like 'sql_mode' ; 

Wenn der SQL-Modus „NO_ZERO_IN_DATE,NO_ZERO_DATE“ enthält, entfernen Sie diese Einstellungen, um das Problem zu beheben. Diese Einstellungen sind die Standardeinstellungen in neueren Versionen von MySQL.

Als Root-Benutzer können Sie den SQL-Modus global ändern, indem Sie den folgenden Befehl verwenden:

set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in MySQL die Fehlermeldung „Ungültiger Standardwert für ‚created_at''?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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