创建表学生( id INT 主键自动递增, 名字 VARCHAR(100), 姓氏 VARCHAR(100), MajorID INT);
创建专业表( id 整数, 专业名称 VARCHAR(100));
ALTER TABLE majors
ADD FOREIGN KEY(id) REFERENCES Students(majorID);
出于某种原因,每当我尝试创建外键时,我总是在 mysql 中收到“无法创建外键约束”错误,但父级和它都是完全相同的类型。
我稍后尝试使用 Alter table 添加键,从两者中删除主键约束,一个然后另一个,分配无符号约束并将其删除,但无济于事。
我现在感觉真的很愚蠢,因为我从过去的工作中看到,我能够以完全相同的方式添加它们,没有任何问题,所以不确定到底发生了什么变化。
ALTER TABLE majors
ADD CONSTRAINT majors_ibfk_1 FOREIGN KEY(id) REFERENCES Students(majorID);
ADD CONSTRAINT majors_ibfk_1
。
顺便说一句,不应该是这个,因为你的 MajorID 是 Students 表中的外键?
ALTER TABLE Students
ADD CONSTRAINT students_ibfk_1 FOREIGN KEY(majorID) REFERENCES majors(id);