踩坑记:mysql timeStamp默认值0000-00-00 00:00:00 报错
报错现象:
从mysql5.5数据库导出的数据结构放到mysql5.7.10 报错
create_time timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00’
则会出现以下的异常:
Invalid default value for ‘create_time’
报错原因以及解决办法:
这个问题和mysql中sql_mode有关系,我们可以采用两种方法来查看它的值
http://www.cnblogs.com/wang666/p/9186559.html
不重启mysql办法:
先执行一下下面的语句
set sql_mode=(select replace(@@sql_mode,‘NO_ZERO_IN_DATE,NO_ZERO_DATE‘,‘‘));
然后重新执行添加字段的sql即可:
ALTER TABLE 数据库表名 ADD COLUMN end_time
timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ COMMENT ‘更新时间‘
AFTER ‘start_time’;
最好的方式还是上面链接中的方法:
去改mysql的配置文件
作 者: Jony.K.Chen
出 处:http://www.cnblogs.com/lxcy/
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!