Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich in MySQL einen „Ungültigen Standardwert für das Feld „create_date'' und wie kann ich das beheben?
"Ungültiger Standardwert für Feld 'create_date': Grundlegendes zum SQL-Modus NO_ZERO_DATE"
In einer aktuellen SQL-Erstellungsanweisung tritt der Fehler auf „‚Ungültiger Standardwert für ‚create_date‘“ für das folgende SQL:
<code class="sql">CREATE TABLE IF NOT EXISTS `erp`.`je_menus` ( ... `create_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', ... ) </code>
Um diesen Fehler zu beheben, ist es wichtig, den MySQL SQL-Modus zu verstehen, insbesondere die Einstellung NO_ZERO_DATE. Diese Einstellung verbietet die Verwendung von „0000-00-00“ als gültiges Datum im strengen Modus. Dies liegt daran, dass SQL boolesche Werte als Zahlen behandelt (z. B. TRUE = 1, FALSE = 0) und Datumsangaben als Ganzzahlen speichert, die die Anzahl der Tage seit einem Referenzpunkt darstellen. Folglich steht die Verwendung von „0000-00-00“ im Konflikt mit dem für boolesche Werte verwendeten Wert „0“.
Um dieses Problem zu beheben, ziehen Sie die folgenden Optionen in Betracht:
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in MySQL einen „Ungültigen Standardwert für das Feld „create_date'' und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!