我的问题的第一部分:
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
答案 0 :(得分:1)
列只有一个值。如果更改table1中的id,则更改将级联到table3。如果table2中尚未出现新的id值,则会出现错误,因为违反了外键。
问题的第二部分,您可以在此处阅读约束:http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html