首頁 > 資料庫 > mysql教程 > 為什麼我會收到 MySQL 外鍵約束失敗(錯誤碼 1452)?

為什麼我會收到 MySQL 外鍵約束失敗(錯誤碼 1452)?

Barbara Streisand
發布: 2025-01-21 05:20:13
原創
646 人瀏覽過

Why Am I Getting a MySQL Foreign Key Constraint Failure (Error Code 1452)?

MySQL 外鍵約束失敗:錯誤碼 1452

在嘗試向 MySQL 資料庫中的 ORDRELINJE 表插入值時,發生錯誤,提示訊息為「錯誤代碼:1452。無法新增或更新子行:外鍵約束失敗」。

瞭解外鍵約束

外鍵約束確保關聯式資料庫中的參照完整性。外鍵是子表中的一列,它引用父表中的主鍵列。在子表中插入或更新行時,外鍵的值必須與父表主鍵列中的現有值相符。

錯誤分析

在本例中,錯誤表示 ORDRELINJE 表具有一個引用 Ordre 表的外鍵約束。當嘗試向 ORDRELINJE 表插入一行時,Ordre 列的值與 Ordre 表中任何現有行都不符。

解決錯誤

要解決此錯誤,請確保滿足以下條件:

  1. 父表中的符合行:ORDRELINJE 表中 Ordre 欄位的值應與 Ordre 表中 OrdreID 欄位的現有值相符。如有必要,請先將對應的行插入 Ordre 表。
  2. 資料類型相容性:外鍵列 (Ordre) 和其引用的主鍵列 (OrdreID) 的資料類型必須相符。
  3. 級聯行為:配置外鍵約束,即使父表中沒有匹配的行,也允許向子表插入行。這可以透過在建立外鍵約束時使用 ON DELETE CASCADE 或 ON UPDATE CASCADE 選項來實現。

以上是為什麼我會收到 MySQL 外鍵約束失敗(錯誤碼 1452)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板