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存日期時不容許出現這種格式致使的。下面記錄下解決問題的通過: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
圖片描述學習

相關文章
相關標籤/搜索