MySQL 外鍵約束違規:錯誤1452
當嘗試在兩個表之間建立外鍵約束時,您可能會遇到錯誤「 Mysql 錯誤1452 - 無法新增或更新子行:外鍵約束失敗。」此錯誤表示引用表和引用表之間存在不一致。
檢查兩個表的CREATE TABLE 語句會發現以下內容:
嘗試從下列位置新增外鍵約束時,會特別發生該錯誤sourcecodes_tags 到原始碼。
要解決此錯誤,很可能sourcecodes_tags 表包含原始碼表中不再存在的 sourcecode_id 值。
要識別這些不一致的值,請執行下列查詢:
SELECT DISTINCT sourcecode_id FROM sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id WHERE sc.id IS NULL;
此查詢將傳回 sourcecode_id 值的清單來自與原始程式碼中任何有效條目不對應的 sourcecodes_tags。透過從sourcecodes_tags中刪除這些不一致的值,就可以成功建立外鍵約束。
以上是MySQL 錯誤 1452:如何解決違反外鍵限制的問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!