MySQL 1外键引用2个主键

时间:2013-07-06 10:02:23

标签: mysql foreign-keys primary-key

我的问题的第一部分:

table1
ID (PRIMARY)

table2
ID (PRIMARY)

table3
IDleglo (FOREIGN KEY)

这是我的情况。我有来自不同表的2个ID,它们是主键,自动递增。在第三个表(table3)上,我将IDleglo作为外键引用于table1和table2中的ID。

问题如果我改变表并制作:

FOREIGN KEY (IDleglo) REFERENCES table1(ID)
        ON UPDATE CASCADE
        ON DELETE CASCADE
FOREIGN KEY (IDleglo) REFERENCES table2(ID)
        ON UPDATE CASCADE
        ON DELETE CASCADE

数据库如何知道IDleglo中的哪个值来自ID(table1)以及ID(table2)中的哪个值。 因为我可以更新ID(table1),它会更新ID = IDleglo的IDleglo,但它可能会影响IDleglo从ID(table2)获得的值。

我的问题的第二部分是: 这意味着什么,例如ADD CONSTRAINT FK_borrowed

1 个答案:

答案 0 :(得分:1)

列只有一个值。如果更改table1中的id,则更改将级联到table3。如果table2中尚未出现新的id值,则会出现错误,因为违反了外键。

问题的第二部分,您可以在此处阅读约束:http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html