2017-10-18 23 views
1

Je souhaite exécuter l'instruction mysql suivante à partir du logiciel framadate.valeur par défaut manquante pour NOT NULL TIMESTAMP?

CREATE TABLE IF NOT EXISTS `sondage` (
    `id_sondage` char(16) NOT NULL, 
    `commentaires` text, 
    `mail_admin` varchar(128) DEFAULT NULL, 
    `nom_admin` varchar(64) DEFAULT NULL, 
    `titre` text, 
    `id_sondage_admin` char(24) DEFAULT NULL, 
    `date_creation` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `date_fin` timestamp NOT NULL, 
    `format` varchar(2) DEFAULT NULL, 
    `mailsonde` tinyint(1) DEFAULT '0', 
    `statut` int(11) NOT NULL DEFAULT '1' COMMENT '1 = actif ; 0 = inactif ; ', 
    UNIQUE KEY `id_sondage` (`id_sondage`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 

Mais je reçois l'erreur: Error in query (1067): Invalid default value for 'date_fin' Je me demande ce que cela signifie, parce qu'il n'y a pas de valeur par défaut donnée pour date_fin.

Répondre

1

Il me semble que votre serveur MySQL insiste pour que vous fournissiez une valeur par défaut pour votre colonne date_fin. Essaye ça.

... 
    `date_fin` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    ... 

En général, il est une assez bonne pratique pour fournir des valeurs par défaut pour NOT NULL colonnes.