mysql DATETIMEタイプフィールドの追加によるInvalid default valueエラーの問題

632 ワード

sqlを実行するには、次のようにします.
CREATE TABLE `qcloud_sms_template` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `ctime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY(`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

実行結果:
ERROR 1067 (42000): Invalid default value for 'ctime'

このsqlは本機でテストしても問題なく、開発環境でエラーを報告しました.不思議なことに、検索すると、DATETIMEタイプはmysql 5.6.5+しかサポートされていないことがわかりました.
解決方法:
     DATETIME  TIMESTAMP。

参考資料:http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a-mysql-datetime-column/10603198