【发布时间】:2018-10-12 17:19:38
【问题描述】:
您好,我对 MySQL 不是很熟悉,因为我今天才开始使用它,而且我不断收到这个语法错误,我不确定问题出在哪里。我附上了代码的screenshot,并将其粘贴在下面,错误以粗体显示。
如果这是一个很容易修复的愚蠢错误,我很抱歉,我只是不知道如何修复它,非常感谢任何帮助。
CREATE TABLE copy (
`code` INT NOT NULL,
isbn CHAR(17) NOT NULL,
duration TINYINT NOT NULL,
CONSTRAINT pkcopy PRIMARY KEY (isbn, `code`),
CONSTRAINT fkcopy FOREIGN KEY (isbn) REFERENCES book (isbn));
CREATE TABLE student (
`no` INT NOT NULL,
`name` VARCHAR(30) NOT NULL,
school CHAR(3) NOT NULL,
embargo BIT NOT NULL,
CONSTRAINT pkstudent PRIMARY KEY (`no`));
CREATE TABLE loan (
`code` INT NOT NULL,
`no` INT NOT NULL,
taken DATE NOT NULL,
due DATE NOT NULL,
`return` DATE NULL,
CONSTRAINT pkloan PRIMARY KEY (taken, `code`, `no`),
CONSTRAINT fkloan FOREIGN KEY (`code`, `no`) REFERENCES copy, student **(**`code`, `no`));
【问题讨论】:
-
创建外键时不能引用两个不同的表(即使是复合的)