MySQL 8.0.13設定日期為0000-00-00 00:00:00時出現的問題解決
剛開始學習資料庫操作,今天存資料時發現,儲存的時候報錯(Error 1292: Incorrect datetime value: '0000-00-00' for column 'deleted_at' at row 1)
,之後就搜尋了下原因,是因為MySQL
存日期時不允許出現這種格式導致的。下面記錄下解決問題的經過:
先是根據Mysql 資料庫date,datetime型別設定0000-00-00預設值報錯問題 這篇部落格操作的。但是發現。我電腦上沒有文章中提到的cnf
檔案。於是就在網上搜索該檔案。貼上了my.cnf這個內容到/etc/my.cnf
裡邊。
可是等我將
複製程式碼 程式碼如下:sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
貼上到檔案所在位置時,還是不成功。MySQL直接啟動不起來。後來在命令列中設定sql_mode
的時候看到了錯誤提示:
mysql> SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,NO_ENGINE_SUBSTITUTION';
ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'
ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'意思就是不讓設定NO_AUTO_CREATE_USER
my.cnf
檔案中的sql-mode
一行去掉改值就成功了。
MySQL版本:8.0.13
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。