繁体   English   中英

创建表时出现MySQL错误150

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM