首页 > 数据库 > mysql教程 > 为什么我会收到 MySQL 外键错误 1215:'无法添加外键约束”?

为什么我会收到 MySQL 外键错误 1215:'无法添加外键约束”?

Susan Sarandon
发布: 2024-11-25 14:08:13
原创
857 人浏览过

Why Am I Getting MySQL Foreign Key Error 1215:

MySQL 外键错误:1215 故障排除

尝试在 MySQL 中添加外键约束时,您可能会遇到错误代码:1215,指示“无法添加外键约束(外键)。”此错误通常是由于数据类型不匹配或结构问题造成的。

数据类型不匹配

一个可能的原因是引用外键的列之间的数据类型不匹配和引用的列。例如,如果班级表中的 classLeader 列具有 VARCHAR(255) 数据类型,而学生表中引用的 StudentID 列是 INT,则外键约束将失败。两列的数据类型必须相同。

结构问题

如果数据类型匹配,问题可能在于表之间的结构差异。值得注意的是:

  • 引用的表(本例中为学生)必须存在。
  • 引用的列(studentID)必须存在于引用的表中。
  • 引用的列列(studentID)应该是引用表的主键或唯一键(尽管在 MySQL 中,索引可以就够了)。

示例

-- Create student table
CREATE TABLE student (
  studentID int NOT NULL AUTO_INCREMENT,
  lastName varchar(255),
  firstName varchar(255),
  PRIMARY KEY (studentID)
);

-- Create class table
CREATE TABLE class (
  classID int NOT NULL AUTO_INCREMENT,
  nameClass varchar(255),
  classLeader int,  -- Change to INT to match studentID type
  FOREIGN KEY (classLeader) REFERENCES student(studentID),
  PRIMARY KEY (classID)
);
登录后复制

外键与键

不考虑外键唯一标识表中行的传统键(例如主键或唯一键)。相反,它们的主要目的是确保引用完整性并维护表之间的关系。通过强制执行外键,您可以防止不一致和孤立数据。

以上是为什么我会收到 MySQL 外键错误 1215:'无法添加外键约束”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板