我在数据库中有两个表。第一个是

CREATE TABLE persons
(
P_Id int NOT NULL,
LastName varchar(30) NOT NULL,
FirstName varchar(30),
Address varchar(200),
City varchar(20),
PRIMARY KEY (P_Id)
)


第二个是

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)


我的问题是,一旦Persons表中的主键(P_Id)得到更新,有什么方法可以自动更新Orders表中的FOREIGN KEY(P_Id)值。
谢谢。

最佳答案

你的第二张桌子应该是

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id),
ON UPDATE CASCADE
 )


这意味着,当更新父代的ID时,“ ON UPDATE CASCADE”将执行相同的操作。

关于mysql - 如何自动更新外键的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40019656/

10-12 12:46
查看更多