今天工作中遇到修改表结构的时候出现错误
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 :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 解决
右键表 -> 设计表
将默认值改成'1970-01-01 10:00:00'
参考地址:https://blog.****.net/wrh_****/article/details/82223228