【錯誤】mysql 出現 "1067 - Invalid default value for 'UPDATE_TIME' " 錯誤提示的解決辦法


 

  今天工作中遇到修改表結構的時候出現錯誤

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

參考地址:https://www.cnblogs.com/yang101/p/11287543.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM