【错误】mysql 出现 "1067 - Invalid default value for &

时间:2021-11-06 06:22:03

 

  今天工作中遇到修改表结构的时候出现错误

Invalid default value for ‘UPDATE_TIME 问题原因是因为db 表中update_time的默认时间写成了 ‘0000-00-00 00:00:00‘

 

`update_time` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新时间‘,

 

因为timestamp类型取值范围:1970-01-01 00:00:00 到 2037-12-31 23:59:59,

所以必须得把字段UPDATE_TIME 的默认值修改成:1970-01-01 00:00:00 到 2037-12-31 23:59:59 之间的值,

发现 默认值必须在1970-01-01 10:00:00 以后才修改成功,不知道什么原因!

 

解决方式

1:sql解决

alter table tmp_wrh_1 alter column update_time drop default;
alter table tmp_wrh_1 alter column UPDATE_TIME set default ‘1970-01-01 10:00:00‘;

  

sql 含义

alter table 表名 alter column 字段名 drop default; (若本身存在默认值,则先删除)

alter table 表名 alter column 字段名 set default 默认值;(若本身不存在则可以直接设定)

  

2:利用navicate 解决

右键表  ->  设计表

【错误】mysql 出现 "1067 - Invalid default value for &amp

 

 将默认值改成‘1970-01-01 10:00:00‘

 

参考地址:https://blog.****.net/wrh_****/article/details/82223228

参考地址:https://www.cnblogs.com/yang101/p/11287543.html