今天工作中遇到修改表結構的時候出現錯誤
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 解決
右鍵表 -> 設計表
將默認值改成'1970-01-01 10:00:00'
參考地址:https://blog.csdn.net/wrh_csdn/article/details/82223228