Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich beim Erstellen einer Tabelle mit einem Zeitstempelfeld die Fehlermeldung „Ungültiger Standardwert für „create_date''?
Ungültiger Standardwert für Zeitstempelfeld
Der Fehler „Ungültiger Standardwert für ‚create_date‘“ tritt auf, wenn versucht wird, eine Tabelle mit einem zu erstellen Zeitstempelfeld mit dem Standardwert „0000-00-00 00:00:00“. Dieser Fehler wird durch den SQL-Modus NO_ZERO_DATE ausgelöst.
Der Modus NO_ZERO_DATE verhindert das Einfügen von „0000-00-00“ als gültiges Datum. Im strikten Modus ist dieser Wert auch mit der Option IGNORE verboten. Im nicht strengen Modus wird das Datum möglicherweise akzeptiert, es wird jedoch eine Warnung generiert.
Um diesen Fehler zu beheben, deaktivieren Sie entweder den NO_ZERO_DATE-Modus oder verwenden Sie einen anderen Standardwert für das Zeitstempelfeld.
<code class="sql">SET SQL_MODE = 'ALLOW_INVALID_DATES';</code>
Alternativ können Sie einen gültigen Standardwert für das Zeitstempelfeld angeben:
<code class="sql">CREATE TABLE IF NOT EXISTS `erp`.`je_menus` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `name` VARCHAR(100) NOT NULL , `description` VARCHAR(255) NOT NULL , `live_start_date` DATETIME NULL DEFAULT NULL , `live_end_date` DATETIME NULL DEFAULT NULL , `notes` VARCHAR(255) NULL , `create_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `created_by` INT(11) NOT NULL , `update_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `updated_by` INT(11) NOT NULL , `status` VARCHAR(45) NOT NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB;</code>
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen einer Tabelle mit einem Zeitstempelfeld die Fehlermeldung „Ungültiger Standardwert für „create_date''?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!