Incorrect datetime value: '0000-00-00 00:00:00' for column的解決
我的mysql安裝後,儲存刪除表資料總是出現#1929 Incorrect datetime value: '' for column 'createtime' 的報錯提醒,導致不能刪除表裡資料;
原因:
5以上的版本如果時期時間是空值應該要寫NULL;
官方解釋說:得知新版本mysql對空值插入有"bug",
要在安裝mysql的時候去除預設勾選的enable strict SQL mode
那麼如果我們安裝好了mysql怎麼辦了,解決辦法是更改mysql中的配置 my.ini
解決方法:
修改my.ini配置檔案,建議修改前新備份下,
my.ini中查詢sql-mode,
我的MySQL版本為5.7.9,預設為:
sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"
將紅色標註的NO_ZERO_DATE,NO_ZERO_IN_DATE,刪掉儲存重啟mysql即可;
如果版本低的話預設可能是:
預設為sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",
將紅色標註的STRICT_TRANS_TABLES,刪掉儲存重啟mysql即可; --------------------- 作者:月光如注 來源:CSDN 原文:https://blog.csdn.net/leesin2011/article/details/54634693 版權宣告:本文為博主原創文章,轉載請附上博文連結!
////////////////////////////////////////////以下為原理////////////////////////////