」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > MySQL 錯誤 150 和 1005:為什麼我無法建立外鍵關係?

MySQL 錯誤 150 和 1005:為什麼我無法建立外鍵關係?

發佈於2024-12-21
瀏覽:286

MySQL Error 150 & 1005: Why Can\'t I Create Foreign Key Relationships?

MySql 外鍵錯誤150: A Puzzling Enigma

當嘗試建立具有外鍵關係的「foo」與「bar」表時,您會遇到與錯誤150 相關的錯誤1005 (HY000)。此錯誤可能會令人沮喪,讓您感到困惑根本原因。

根據有關 FOREIGN KEY Constraints 的 MySQL 文檔,重新建立具有外鍵引用的已刪除表時會出現問題。該表必須透過具有匹配的列名稱和類型以及引用鍵上的索引來符合外鍵約束。如果不滿足這些條件,MySQL 將傳回錯誤 1005,並帶有基礎錯誤 150。

您的錯誤很可能是由於「foo」表未定義為 InnoDB 表所致。 MySQL文件明確指出這兩個表必須是InnoDB表且是非臨時表。

透過修改「foo」表建立查詢來指定InnoDB引擎:

mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;

您應該能夠使用外鍵約束成功建立「bar」表,解決錯誤150.

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3