2017-10-18 17 views
1

framadateソフトウェアから次のmysql文を実行します。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 

しかし、私はエラーを取得する:Error in query (1067): Invalid default value for 'date_fin' date_finのために与えられたデフォルト値がないので、私は、それが何を意味するのか不思議に思います。

答えて

1

あなたのMySQLサーバがあなたのdate_finカラムのデフォルト値を提供することを主張しているように私に聞こえます。これを試して。一般的に

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

、それはNOT NULL列のデフォルト値を提供するために、合理的に良い練習です。

関連する問題