MySQL - 如何在三个表之间创建外键

时间:2017-03-14 17:03:03

标签: mysql sql foreign-keys field record

我已经设置了在MySql中创建3个表的任务。一个表称为主题,其中一个名为subject_id的字段作为主键,另一个名为students的表具有一个名为student_id的字段和一个名为entries的最终表。

条目表必须有两个外键,subject_idstudent_id

这是官方任务:

image

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

在定义将作为外键的列后的create table查询中,只需编写“Foreign Key - References - ”并指定要连接到另一个表的列(我写第一个破折号的位置) 。第二个破折号应该是表名,后跟括号中引用的列。

如果已经创建了表,只需使用alter table查询并使用与上面相同的格式编写“add foreign key - references - ”。

答案 1 :(得分:0)

像这样的东西

CREATE TABLE Subjects (
   SubjectId INT NOT NULL AUTO_INCREMENT,
   PRIMARY KEY (SubjectId))

CREATE TABLE Students (
   StudentId INT NOT NULL AUTO_INCREMENT,
   PRIMARY KEY (StudentId))

CREATE TABLE Entries(
   EntriesId INT NOT NULL AUTO_INCREMENT,
   SubjectId INT NOT NULL,
   StudentId INT NOT NULL,
   FOREIGN KEY (SubjectId) REFERENCES Subjects (SubjectId),
   FOREIGN KEY (StudentId) REFERENCES Students (StudentId))