【问题标题】:MySQL - How to create a foreign key between three tablesMySQL - 如何在三个表之间创建外键
【发布时间】:2017-03-14 17:03:02
【问题描述】:
我的任务是在 MySql 中创建 3 个表。一个名为subjects 的表以subject_id 作为主键,另一个名为students 的表具有一个名为student_id 的字段,最后一个表名为entries。
条目表必须有两个外键,subject_id 和 student_id。
这是正式任务:
谁能帮忙?
【问题讨论】:
标签:
mysql
sql
foreign-keys
field
record
【解决方案1】:
在定义将作为外键的列后,在创建表查询中,只需编写“外键 - 引用 -”并指定要连接到另一个表的列(我写第一个破折号的地方) .第二个破折号应该是表名,后跟括号中它引用的列。
如果表已经建好了,就用alter table查询,写“add foreign key - references -”,格式同上。
【解决方案2】:
类似的东西
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))