-
目录 外键的级联更新和级联删除 什么是级联更新 什么是级联删除 添加级联更新 添加级联删除 同时添加级联更新和级联删除 实例演示 添加外键约束,同时添加级联更新和级联删除 添加后测试
-
外键的级联更新和级联删除 -
什么是级联更新 - 当我想把主表中的数据进行修改时
- 我期望从表中有关联的数据也会随之修改
-
什么是级联删除 - 当我想把主表中的数据进行删除时
- 我期望从表中有关联的数据也会随之删除
-
添加级联更新 - alter table 表名 add
- constraint 外键名 foreign key (本表外键列名) references 主表名(主键列名)
- on update cascade;
-
添加级联删除 - alter table 表名 add
- constraint 外键名 foreign key (本表外键列名) references 主表名(主键列名)
- on delete cascade;
-
同时添加级联更新和级联删除 - alter table 表名 add
- constraint 外键名 foreign key (本表外键列名) references 主表名(主键列名)
- on update cascade on delete cascade;
-
实例演示 -
添加外键约束,同时添加级联更新和级联删除 -
-- 添加外键约束,同时添加级联更新和级联删除
ALTER TABLE ouser ADD CONSTRAINT ou FOREIGN KEY (uid) REFERENCES user(id)
ON UPDATE CASCADE ON DELETE CASCADE; -
添加后测试 - 原表单信息
- 进行修改
-
-- 将李四这个用户的id改为3,ouser表中的uid也自动修改
UPDATE user SET id=3 WHERE id=2; -
-- 将李四这个用户删除,ouser表中的相关所属也自动删除
DELETE FROM user WHERE id=3;
|