剛開始學習數據庫操作,今天存數據時發(fā)現(xiàn),保存的時候報錯(Error 1292: Incorrect datetime value: '0000-00-00' for column 'deleted_at' at row 1)
,之后就搜索了下原因,是因為MySQL
存日期時不允許出現(xiàn)這種格式導致的。下面記錄下解決問題的經過:
先是根據Mysql 數據庫date, datetime類型設置0000-00-00默認值報錯問題 這篇博客操作的。但是發(fā)現(xiàn)。我電腦上沒有文章中提到的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,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
![](/d/20211018/93b4487321609bb537760032355300e1.gif)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MySQL計算兩個日期相差的天數、月數、年數
- 詳解Mysql中日期比較大小的方法
- mysql中常用日期比較與計算函數
- MySQL日期函數與日期轉換格式化函數大全
- mysql 獲取昨天日期、今天日期、明天日期以及前一個小時和后一個小時的時間
- 詳解MySQL日期 字符串 時間戳互轉
- 詳解mysql 獲取當前日期及格式化
- mysql日期處理函數實例解析