首頁 > 資料庫 > mysql教程 > 為什麼 MySQL 給出「無法新增外鍵約束」錯誤?

為什麼 MySQL 給出「無法新增外鍵約束」錯誤?

Susan Sarandon
發布: 2025-01-18 20:26:13
原創
730 人瀏覽過

Why is MySQL Giving Me a

解決 MySQL 外鍵約束問題

在 MySQL 中建立外鍵關係有時會導致令人沮喪的錯誤:

<code>ERROR 1215 (HY000): Cannot add foreign key constraint</code>
登入後複製

此訊息表示在表之間建立外鍵連結時出現問題。 讓我們探討常見原因和解決方案。

資料型態差異:

確認子列和父列的資料型別相同。 例如,如果父列是 INT,則對應的子列也必須是 INT。 任何不匹配都會阻止添加約束。

表格建立順序:

雖然最佳實踐要求在子表之前建立父表,但您可以暫時繞過此限制。 在建立表格之前使用以下命令:

<code>SET FOREIGN_KEY_CHECKS=0;</code>
登入後複製

這會停用外鍵檢查,從而實現靈活的表建立順序。請記得使用 SET FOREIGN_KEY_CHECKS=1;

之後重新啟用檢查

使用 <code>SHOW ENGINE INNODB STATUS;</code> 找出問題:

要精確辨識錯誤,請執行:

<code>SHOW ENGINE INNODB STATUS;</code>
登入後複製

檢查 LATEST FOREIGN KEY ERROR 部分以取得有關失敗約束的具體詳細資訊。 這為有針對性的故障排除提供了重要資訊。

以上是為什麼 MySQL 給出「無法新增外鍵約束」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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