MySql 外鍵錯誤150:一個令人費解的謎
當嘗試創建具有外鍵關係的「foo」和「bar 」表時,您遇到錯誤1005 (HY000) 並參考錯誤150。此錯誤可能會令人沮喪,讓您對根本原因感到困惑。
根據 MySQL 關於 FOREIGN KEY Constraints 的文檔,重新建立具有外鍵引用的已刪除表時會出現問題。該表必須透過具有匹配的列名稱和類型以及引用鍵上的索引來符合外鍵約束。如果不滿足這些條件,MySQL 將傳回錯誤 1005,並帶有基礎錯誤 150。
您的錯誤很可能是由於「foo」表未定義為 InnoDB 表所致。 MySQL 文件明確指出這兩個表都必須是 InnoDB 表且是非臨時表。
透過修改「foo」建表查詢來指定 InnoDB 引擎:
mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;
你應該能夠成功建立具有外鍵約束的「bar」表,解決錯誤150。
以上是MySQL 錯誤 150 和 1005:為什麼我無法建立外鍵關係?的詳細內容。更多資訊請關注PHP中文網其他相關文章!