我试过在这里阅读其他一些帖子,但我似乎没有做错任何事。你能否对我在这里做错了什么有所了解?
这是我的学生表(创建得很好):
-- STUDENT TABLE
CREATE TABLE student
(
studentID INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
fname VARCHAR(50) NOT NULL,
lname VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
phone VARCHAR(20) NOT NULL
);
这是我的组表(抛出错误150):
-- GROUP TABLE
CREATE TABLE wa_group (
groupID INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
groupName VARCHAR(255) NOT NULL,
groupDetail VARCHAR(512) NOT NULL,
groupSize INT NOT NULL DEFAULT 100,
adminID INT NOT NULL,
FOREIGN KEY (adminID)
REFERENCES student (studentID)
ON DELETE SET NULL ON UPDATE SET NULL
);
答案 0 :(得分:1)
您的专栏
adminID INT NOT NULL
根据您的定义不允许使用null
值。
但后来你定义了
ON DELETE SET NULL
ON UPDATE SET NULL
这不起作用。在删除和更新时允许null
或不将其设置为null
。
答案 1 :(得分:0)
确保外键引用的表存在,并且它的引擎支持外键(即,您不能从InnoDB引用MyISAM表。)