首頁 > 資料庫 > mysql教程 > 如何解決MySQL錯誤1452:外鍵約束失敗?

如何解決MySQL錯誤1452:外鍵約束失敗?

Susan Sarandon
發布: 2024-12-23 11:17:14
原創
725 人瀏覽過

How to Resolve MySQL Error 1452: Foreign Key Constraint Fails?

Mysql 錯誤1452:由於外鍵約束,新增或更新子行失敗

嘗試新增外鍵時引用來源程式碼表時,出現錯誤:「Mysql 錯誤1452 -無法新增或更新子行:外鍵約束失敗。對應的主鍵值(id)。 MySQL 強制執行參考完整性,確保外鍵引用父表中的有效主鍵。

解決錯誤

要解決此錯誤,有必要識別和從 sourcecodes_tags 表中刪除孤立的 sourcecode_id 值。執行下列查詢以尋找遺失的主鍵值:

此查詢將傳回原始碼表中不存在的 sourcecode_id 值的清單。一旦確定,可以使用DELETE 語句刪除這些孤立值:

刪除孤立值後,重新執行ALTER TABLE 語句以新增外鍵:

SELECT DISTINCT sourcecode_id FROM
sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id
WHERE sc.id IS NULL;
登入後複製

這應該會成功建立外鍵:

DELETE FROM sourcecodes_tags WHERE sourcecode_id IN (SELECT DISTINCT sourcecode_id FROM sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id WHERE sc.id IS NULL);
登入後複製

這應該會成功建立外鍵鍵約束,沒有任何錯誤。

以上是如何解決MySQL錯誤1452:外鍵約束失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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