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