欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-11 08:51:00
报错现象: 从mysql5.5数据库导出的数据结构放到mysql5.7.10 报错create_time timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00’ 则会出现以下的异常: Invalid default value for ‘create_tim ......

报错现象:

从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有关系,我们可以采用两种方法来查看它的值

 

不重启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的配置文件