簡體   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