Invalid default value for 'UPDATE_TIME' " 錯誤提示的解決辦法
阿新 • • 發佈:2019-01-08
問題:
由於 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-服務費提現'; --執行成功