问题:
由于 tmp_wrh_1 的字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00'
即:`UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新时间';
在对这个表进行操作的时候,
如:alter table tmp_wrh_1 MODIFY column BUSINESS_TYPE varchar(5) comment 'hhr-服务费提现'; --执行失败
会出现错误提示: 1067 - Invalid default value for 'UPDATE_TIME'
问题分析:
因为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 以后才修改成功,不知道什么原因!
问题解决:
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';
alter table tmp_wrh_1 MODIFY column BUSINESS_TYPE varchar(5) comment 'hhr-服务费提现'; --执行成功