首頁  >  文章  >  資料庫  >  為什麼我會收到 MySQL 錯誤 1364:欄位缺少預設值?

為什麼我會收到 MySQL 錯誤 1364:欄位缺少預設值?

DDD
DDD原創
2024-11-06 11:49:02543瀏覽

Why Am I Getting MySQL Error 1364: Field Lacks Default Value?

MySQL 錯誤1364 故障排除:當欄位缺少預設值

從MAMP 轉換到本機MySQL 環境時,您可能會遇到與以下相關的錯誤執行INSERT 命令時欄位中缺少預設值。此問題與 MySQL 的嚴格模式有關,特別是其 STRICT_ALL_TABLES 設定。

原因:

當MySQL 在嚴格模式下運行時,它強制嚴格遵守資料庫規則和完整性,包括不允許沒有預設值的欄位為null 或空值。

解決方案:

要解決此問題,您可以透過執行以下命令停用嚴格模式:

<code class="sql">SET GLOBAL sql_mode=''</code>

或者,您可以修改my.cnf 設定檔以確保未設定STRICT_ALL_TABLES:

  1. 開啟MySQL 安裝的my.cnf 檔案。
  2. 找到 [mysqld] 部分。
  3. 檢查是否有一行內容為:

    sql_mode = STRICT_ALL_TABLES
  4. 如果存在,透過新增將其註解掉行開頭有 #。
  5. 儲存並關閉 my.cnf 檔案。

進行這些變更後,重新啟動 MySQL 服務以套用新設定。您的 INSERT 命令現在應該可以成功執行,而不會遇到缺少預設值的錯誤。

以上是為什麼我會收到 MySQL 錯誤 1364:欄位缺少預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn