这是sql中的两个声明
create table bookAdoption
(
courseId int,
sem int,
isbn int,
PRIMARY KEY(courseId, sem, isbn),
FOREIGN KEY(courseId) REFERENCES course(courseId),
FOREIGN KEY(sem) REFERENCES enroll(sem)
);
和另一个
CREATE TABLE bookAdoption
(
courseId INT REFERENCES course(courseId) ,
sem INT REFERENCES enroll(sem),
isbn INT REFERENCES text1(isbn),
PRIMARY KEY(courseId, sem, isbn)
);
仅使用引用关键字
之间的区别并同时使用引用和外部关键字
答案 0 :(得分:4)
如果没有外键约束,则无法使用REFERENCES
,引自MySQL Documentation, FOREIGN KEY Constraints:
此外,InnoDB无法识别或支持“内联参考” 规范“(在SQL标准中定义)引用所在的位置 被定义为列规范的一部分。 InnoDB接受 仅当指定为单独的FOREIGN的一部分时,REFERENCES子句 KEY规范。对于其他存储引擎,MySQL Server解析和 忽略了外键规范。
答案 1 :(得分:0)
FOREIGN KEY只能引用一个UNIQUE列。
在实践中,我们将外键约束添加到主键,我们说FK 引用 PK。但是可以使用任何UNIQUE列添加这样的约束。
为了使其工作,SQL语法要求您: