我的数据库中有两个表。第一个是
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/