踩坑記:mysql timeStamp預設值0000-00-00 00:00:00 報錯

Jony.K.Chen發表於2018-09-27

報錯現象:

從mysql5.5資料庫匯出的資料結構放到mysql5.7.10 報錯
create_time timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00’ 
則會出現以下的異常: 
Invalid default value for ‘create_time’

報錯原因以及解決辦法:

這個問題和mysql中sql_mode有關係,我們可以採用兩種方法來檢視它的值

http://www.cnblogs.com/wang666/p/9186559.html

 

不重啟mysql辦法:

先執行一下下面的語句

set sql_mode=(select replace(@@sql_mode,`NO_ZERO_IN_DATE,NO_ZERO_DATE`,``));

然後重新執行新增欄位的sql即可:

ALTER TABLE  資料庫表名  ADD COLUMN `end_time ` timestamp NOT NULL DEFAULT `0000-00-00 00:00:00` COMMENT `更新時間`  
AFTER  ‘start_time’;

 

最好的方式還是上面連結中的方法:

去改mysql的配置檔案

 

相關文章