mysql添加DATETIME类型字段导致Invalid default value错误的问题
Posted 阿波罗任
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。
参考资料:
http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a-mysql-datetime-column/10603198
以上是关于mysql添加DATETIME类型字段导致Invalid default value错误的问题的主要内容,如果未能解决你的问题,请参考以下文章