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

DDD
發布: 2024-11-06 11:49:02
原創
543 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!