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