踩坑记:mysql timeStamp默认值0000-00-00 00:00:00 报错

时间:2022-05-23 09:55:41

报错现象:

从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的配置文件