MySQL Errno 150: 外键约束失败
当尝试创建外键约束时,用户可能会遇到 Errorno 150。 外键约束通过引用另一个表中的字段来确保数据的完整性,强制引用的字段存在于源中
潜在原因:数据类型差异
Errorno 150 的一个常见原因是子表(Sections)中引用的列与引用表中的主键列(讲师)。
示例:
create TABLE Instructors ( ... ID int(10), ... );
create table Sections ( ... Instructor_ID varchar(10), ... FOREIGN KEY (Instructor_ID) REFERENCES Instructors(ID) ... );
在此示例中,Instructors 表中的 ID 列定义为整数,而 Instructor_ID部分表中的列被定义为字符串。这种数据类型的差异会导致外键约束无法建立。
解决方案:
要解决此问题,请确保两个中引用列的数据类型相同表匹配。在上面的示例中,将 Instructor_ID 更改为整数数据类型:
create table Sections ( ... Instructor_ID int(10), ... );
其他潜在原因:
以上是为什么我会收到 MySQL 错误 150:外键约束失败?的详细内容。更多信息请关注PHP中文网其他相关文章!