Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich beim Erstellen einer Tabelle mit einem Zeitstempelfeld die Fehlermeldung „Ungültiger Standardwert für „create_date''?

Warum erhalte ich beim Erstellen einer Tabelle mit einem Zeitstempelfeld die Fehlermeldung „Ungültiger Standardwert für „create_date''?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 11:37:27379Durchsuche

Why am I getting the

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!

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