mysql添加DATETIME类型字段导致Invalid default value错误的问题

执行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。

参考资料:

https://www.liudon.org/1288.html

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容