如果你是一位軟件工程師,你肯定會頻繁地使用到MySQL。MySQL 是一個流行的關系型數據庫管理系統,它具有開源、高效、可靠等優點,因此受到許多用戶的喜愛。
然而在安裝過程中,你可能會遇到一些問題,比如出現錯誤代碼“1364”。這篇文章將介紹如何解決這個問題。
ERROR 1364 (HY000): Field 'XXXXX' doesn't have a default value
上面的錯誤提示出現的原因是 mysql 的默認模式發生了改變。mysql 5.7 開始,默認的 sql_mode 設置為'NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER',其中 'NO_AUTO_CREATE_USER' 模式禁止了未指定默認值的字段(非空字段)自動設置為默認值。
解決方法:
在 mysql 5.7 及更高版本中,可以通過修改 sql_mode 參數值,將 'NO_AUTO_CREATE_USER' 模式移除,這樣就能允許未指定默認值的字段(非空字段)自動設置為默認值。
mysql >SET sql_mode='NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO';
這樣就可以解決 ERROR 1364 錯誤了。在安裝 mysql 時,需要留意 mysql 的版本管理,以及對于錯誤提示的處理方法。