【发布时间】:2013-03-06 07:54:08
【问题描述】:
是否可以有两个引用表的外键?
这是脚本,我们在插入此表时遇到问题
CREATE TABLE Class(
idNumber varchar(30) not null,
day varchar(10) not null,
time varchar(20) not null,
foreign key(idNumber) REFERENCES ThesisMember(idNumber),
foreign key(idNumber) REFERENCES Faculty(idNumber),
PRIMARY KEY(idNumber,day,time)
);
CONSTRAINT `class_ibfk_1`
FOREIGN KEY (`idNumber`) REFERENCES `thesismember` (`idNumber`))
SQL 语句:
INSERT INTO `thesis`.`class`
(`idNumber`, `day`, `time`) VALUES ('9990', 'F', '0940-1110')
Faculty 表的 idNumber 为“9990”。
【问题讨论】:
-
这是不可能的。你不能用两个表引用一列。
-
如果两个表都有一行
9990怎么办?这是对两个表的引用吗?还是只给一个?哪一个? 我们会如何决定,看看它?那么,MySQL 将如何决定呢? -
Works4me: sqlfiddle.com/#!2/aecbb
-
只是通过尝试来确定是否可能更容易吗?
-
工作正常here