mysql - 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)
);
解决方案
外键声明需要一个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)
);
推荐阅读
- javascript - 在函数上创建动态方法
- python - 如何根据熊猫列的唯一值应用 az 转换?
- google-people-api - 未经授权的 Google People API
- c - 如何在没有警告的情况下使结构中的变量等于任何值?(C)
- sql - 选择没有任何评级的所有书籍的标题
- javascript - 如何在 Safari 中将 onPaste 优先于 onKeyPress
- sas - 在 sas 中一次将文本附加到所有列
- django - 过滤外键查询集
- powershell - 从 Powershell 中提取 Info AD 属性
- java - 如何忽略像“car”这样的空 json 对象:{},这会在使用 jackson 反序列化后导致空 pojos