剛開始學習數據庫操做,今天存數據時發現,保存的時候報錯(Error 1292: Incorrect datetime value: '0000-00-00' for column 'deleted_at' at row 1)
,以後就搜索了下緣由,是由於MySQL
存日期時不容許出現這種格式致使的。下面記錄下解決問題的通過:html
先是根據Mysql 數據庫date, datetime類型設置0000-00-00默認值報錯問題 這篇博客操做的。可是發現。我電腦上沒有文章中提到的cnf
文件。因而就在網上搜索該文件。粘貼了my.cnf這個內容到/etc/my.cnf
裏邊。
但是等我將mysql
sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
粘貼到文件所在位置時,仍是不成功。MySQL直接啓動不起來。後來在命令行中設置sql_mode
的時候看到了錯誤提示:sql
mysql> SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,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
學習