[英]MySQL Error No. 150 when creating table
我尝试阅读这里的其他一些线程,但似乎没有做错任何事情。 关于我在这里做错了什么,请您提供一些见解?
这是我的学生表(创建得很好):
-- 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
);
您的专栏
adminID INT NOT NULL
根据您的定义,不允许使用null
值。
但是稍后您定义
ON DELETE SET NULL
ON UPDATE SET NULL
那行不通。 在删除和更新时允许为null
或不将其设置为null
。
确保外键引用的表存在并且其引擎支持外键(即,您不能从InnoDB的表中引用MyISAM表。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.