创建表时MySQL错误号150

时间:2015-05-08 19:23:11

标签: mysql database

我试过在这里阅读其他一些帖子,但我似乎没有做错任何事。你能否对我在这里做错了什么有所了解?

这是我的学生表(创建得很好):

    -- 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
    );

2 个答案:

答案 0 :(得分:1)

您的专栏

adminID INT NOT NULL

根据您的定义不允许使用null值。

但后来你定义了

ON DELETE SET NULL 
ON UPDATE SET NULL

这不起作用。在删除和更新时允许null或不将其设置为null

答案 1 :(得分:0)

确保外键引用的表存在,并且它的引擎支持外键(即,您不能从InnoDB引用MyISAM表。)