mysql 外键约束 on delete on update 怎么使用
时间: 2024-01-24 10:17:12 浏览: 134
在 MySQL 中,可以使用外键约束(Foreign Key Constraint)来保证数据表之间的一致性。当一个表中的数据被更新或删除时,可以通过设置外键约束来自动更新或删除相关的数据表中的数据。
以下是一个示例,展示如何使用外键约束:
假设我们有两个表,一个是 orders 表,包含订单信息,另一个是 customers 表,包含客户信息。orders 表的 customer_id 字段是一个外键,参照了 customers 表中的 id 字段。
我们可以使用以下语句来创建 orders 表:
```
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE ON UPDATE CASCADE
);
```
在上面的语句中,我们使用 FOREIGN KEY 关键字来创建外键约束。customer_id 列参照了 customers 表中的 id 列。ON DELETE CASCADE 和 ON UPDATE CASCADE 分别表示当 customers 表中的一条记录被删除或更新时,orders 表中相关的记录也会被删除或更新。
如果我们想要在 customers 表中的记录被删除时,orders 表中相关的记录也被删除,可以使用以下语句:
```
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE
);
```
同样地,如果我们想要在 customers 表中的记录被更新时,orders 表中相关的记录也被更新,可以使用以下语句:
```
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customers(id) ON UPDATE CASCADE
);
```
阅读全文