mysql - 如何自动更新外键值

标签 mysql

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

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/

相关文章:

php - PHP表单数据到多个MySQL条目

javascript - 使用 PHP 删除 MYSQL 中的表行

mysql - 在 mysql 中连接来自 blob 的二进制数据

mysql - 用于删除此条件为真 : 的行的存储过程

Mysql 在另一个表中选择并统计次数

php - 使用 ajax 发布到 php 文件 - 安全

php - 在数据库中插入选定的数据

php - 通过VPS远程连接laravel到mysql

php - 每周从 MySQL 数据库中的固定数量的更新中发布更新

php - Mysql中如何解析JSON字符串?