如何在这种情况下创建外键约束?
一个星号-主键两个星号-外键
导师表:
**tutorId | 介绍人* |
---|
这里有很好的记录:https://www.w3schools.com/sql/sql_foreignkey.asp我建议重命名您的列。Camelcase是一回事,但最好使用PascalCase或下划线作为分隔符。请注意,名字是两个单词,应该遵循您的标准。您还没有说明roomNo或introducedBy的参考表是什么,所以您必须使用这些信息编辑我的代码。如果它们确实应该是键,那么它们可能应该在列名中有ID。
Fiddle:https://www.db-fiddle.com/f/6EKuZ7DcCRsAvmrLGYcJrx/1
CREATE TABLE tutor (
tutorId INT NOT NULL,
firstname varchar(50),
surname varchar(50),
telephoneNo varchar(50),
qualification varchar(50),
employmentDate datetime,
introducedBy int,
PRIMARY KEY (tutorId)
/* FOREIGN KEY (introducedBy) REFERENCES ????? */
) ENGINE=INNODB;
CREATE TABLE courseCode (
courceCode int,
courceName varchar(50),
tutorId INT,
lenghtHours INT,
tuitonFee INT,
roomNo varchar(50),
INDEX par_ind (tutorId),
PRIMARY KEY (courceCode),
/* FOREIGN KEY (roomNo) REFERENCES ????? */
FOREIGN KEY (tutorId) REFERENCES tutor(tutorId)
ON DELETE CASCADE
) ENGINE=INNODB;