Maison  >  Article  >  base de données  >  Pourquoi est-ce que j'obtiens l'erreur « Valeur par défaut non valide pour \'create_date\'\ » lors de la création d'une table avec un champ d'horodatage ?

Pourquoi est-ce que j'obtiens l'erreur « Valeur par défaut non valide pour \'create_date\'\ » lors de la création d'une table avec un champ d'horodatage ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 11:37:27304parcourir

Why am I getting the

Valeur par défaut non valide pour le champ d'horodatage

L'erreur "Valeur par défaut non valide pour 'create_date'" se produit lors de la tentative de création d'une table avec un champ d'horodatage ayant une valeur par défaut de « 0000-00-00 00:00:00 ». Cette erreur est déclenchée par le mode SQL - NO_ZERO_DATE.

Le mode NO_ZERO_DATE empêche l'insertion de '0000-00-00' comme date valide. En mode strict, cette valeur est interdite, même avec l'option IGNORE. En mode non strict, la date peut être acceptée mais un avertissement est généré.

Pour résoudre cette erreur, désactivez le mode NO_ZERO_DATE ou utilisez une valeur par défaut différente pour le champ d'horodatage.

<code class="sql">SET SQL_MODE = 'ALLOW_INVALID_DATES';</code>

Vous pouvez également spécifier une valeur par défaut valide pour le champ d'horodatage :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn