mysql on update on delete
时间: 2024-04-25 18:19:32 浏览: 92
sql-insert-update-delete
MySQL中的ON UPDATE和ON DELETE是用于定义外键约束时的两个选项。
ON UPDATE选项用于指定当主表中的主键值被更新时,从表中的外键值应该如何处理。常见的选项有:
- CASCADE:级联更新,即主表中的主键值更新时,从表中的外键值也会被更新。
- SET NULL:设置为NULL,即主表中的主键值更新时,从表中的外键值会被设置为NULL。
- SET DEFAULT:设置为默认值,即主表中的主键值更新时,从表中的外键值会被设置为默认值。
- RESTRICT:限制操作,即如果主表中的主键值更新时,从表中存在关联记录,则不允许更新操作。
ON DELETE选项用于指定当主表中的主键值被删除时,从表中的外键值应该如何处理。常见的选项有:
- CASCADE:级联删除,即主表中的主键值删除时,从表中的关联记录也会被删除。
- SET NULL:设置为NULL,即主表中的主键值删除时,从表中的外键值会被设置为NULL。
- SET DEFAULT:设置为默认值,即主表中的主键值删除时,从表中的外键值会被设置为默认值。
- RESTRICT:限制操作,即如果主表中的主键值删除时,从表中存在关联记录,则不允许删除操作。
这些选项可以在创建外键约束时使用,例如:
```
CREATE TABLE 表名 (
列名 数据类型,
...
FOREIGN KEY (外键列名) REFERENCES 主表名(主键列名) ON UPDATE 选项 ON DELETE 选项
);
```
阅读全文