1. 程式人生 > >Invalid default value for 'UPDATE_TIME' " 錯誤提示的解決辦法

Invalid default value for 'UPDATE_TIME' " 錯誤提示的解決辦法

問題:

由於 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-服務費提現'; --執行成功