首页 > 解决方案 > MySQL 语法问题 - 外键

问题描述

嘿只是想知道是否有人可以帮助我弄清楚如何修复我的 MySQL 工作。

问题似乎在第三张表(tblRoster)中,因为所有其他表都可以自行执行,我不确定这是否是外键格式或其他问题,对不起,我对此还是很陌生

CREATE TABLE tblStaff(
    StaffID INT(10) NOT NULL,
    FirstName VARCHAR(20),
    LastName VARCHAR(25),
    TeamLeader BOOLEAN,
    HourlyRate DECIMAL(2,2),
    PRIMARY KEY(StaffID)
);


CREATE TABLE tblEvent(
    EventID INT(10) NOT NULL,
    EDate DATE,
    ETime TIME,
    PRIMARY KEY(EventID)
);

CREATE TABLE tblRoster(
    RosterID INT(10) NOT NULL,
    Station VARCHAR(15),
    FOREIGN KEY(tblStaff.StaffID),
    FOREIGN KEY(tblEvent.EventID),
    PRIMARY KEY(RosterID)
);


标签: mysqlsql

解决方案


外键声明需要一个references子句。并且需要声明列:

CREATE TABLE tblRoster (
    RosterID INT(10) NOT NULL,
    Station VARCHAR(15),
    StaffID INT,
    EventID INT,
    FOREIGN KEY (StaffID) REFERENCES tblStaff(StaffID),
    FOREIGN KEY (EventID) REFERENCES tblEvent(EventID),
    PRIMARY KEY(RosterID)
);

推荐阅读