0

我的问题的第一部分:

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

4

1 回答 1

1

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

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

于 2013-07-06T10:18:58.870 回答