Ungültiger Standardwert für Created_At
Problem:
Beim Versuch, eine Tabelle zu ändern um Beim Hinzufügen einer neuen Spalte tritt ein Fehler auf:
ERROR 1067 (42000): Invalid default value for 'created_at'
obwohl keine Änderungen vorgenommen wurden Zeitstempelspalten.
Lösung:
Der Fehler stammt von sql_modes. So beheben Sie das Problem:
show variables like 'sql_mode' ;
Entfernen Sie die folgenden Modi aus sql_mode:
NO_ZERO_IN_DATE NO_ZERO_DATE
Diese Modi sind standardmäßig in neueren MySQL-Versionen vorhanden.
Globale Einstellung:
Für eine systemweite Änderung: Führen Sie Folgendes als Root aus:
set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Zusätzlich Hinweise:
ALTER TABLE investments ADD bank TEXT DEFAULT NOT NULL;
Das obige ist der detaillierte Inhalt vonWarum führt das Hinzufügen einer Spalte in MySQL zu einem Fehler „Ungültiger Standardwert für ‚created_at''?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!