MySQL Errno 150: 外鍵約束失敗
當嘗試建立外鍵約束時,使用者可能會遇到 Errorno 150。 外鍵約束透過引用另一個表中的字段,強制引用的字段存在於來源表中來確保資料的完整性。
潛在原因:資料型別差異
一Errorno 150 的常見原因是子表(Sections)中所引用的列與引用表(Instructors)中的主鍵列之間的資料型態不一致。
範例:
create TABLE Instructors ( ... ID int(10), ... );
create table Sections ( ... Instructor_ID varchar(10), ... FOREIGN KEY (Instructor_ID) REFERENCES Instructors(ID) ... );
在此範例中,Instructors 表中的ID 欄位定義為整數,而Sections 表中的Instructor_ID 欄位定義為字串。這種資料類型的差異會導致外鍵約束無法建立。
解決方案:
要解決此問題,請確保兩個中引用列的資料類型相同表匹配。在上面的範例中,將Instructor_ID 變更為整數資料類型:
create table Sections ( ... Instructor_ID int(10), ... );
其他潛在原因:
以上是為什麼我會收到 MySQL 錯誤 150:外鍵約束失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!