Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 一个外键和两个引用表_Mysql_Sql - Fatal编程技术网

Mysql 一个外键和两个引用表

Mysql 一个外键和两个引用表,mysql,sql,Mysql,Sql,有可能有一个外键和两个引用表吗 这是脚本,我们在插入此表时遇到问题 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 Fa

有可能有一个外键和两个引用表吗

这是脚本,我们在插入此表时遇到问题

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')

教员表具有“9990”idNumber。

FK约束要求字段“idNumber”的每个实例出现在所有引用的表中。您声明只有一个引用的表具有要插入的值,因此在尝试插入时当然会发生错误。

这是不可能的。不能用两个表引用一列。如果两个表都有一行
9990
?这是对两个表的引用吗?还是只有一个?哪一个?我们将如何决定,看看它?那么,MySQL将如何决定呢?Works4me:仅仅通过尝试就不容易发现它是否可行吗;如果idNumber总是出现在两个表中,则这是可能的。您应该拥有一个主表,它拥有PK idNumber,其中Ismember和FacultyMember是其中的详细表。另一个idType字段将标识idOwner是一个地震成员还是一个Facutlymber。