Mysql实现级联操作(级联更新、级联删除)(转)
时间:2021-07-01 10:21:17
帮助过:3人阅读
insert into stu (name) value (‘ls‘);
insert into stu (name) value (‘zs‘);
insert into stu (name) value (‘ww‘);
insert into sc(sid,score) values (‘1‘,‘98‘);
insert into sc(sid,score) values (‘1‘,‘98‘);
insert into sc(sid,score) values (‘2‘,‘34‘);
insert into sc(sid,score) values (‘2‘,‘98‘);
insert into sc(sid,score) values (‘2‘,‘98‘);
insert into sc(sid,score) values (‘3‘,‘56‘);
insert into sc(sid,score) values (‘4‘,‘78‘);
insert into sc(sid,score) values (‘4‘,‘98‘);
![技术图片](https://img.gxlcms.com//Uploads-s/new/2020-10-11-qlqqti/20190718194342140487.png)
注意:在sc表中插入数据时,若插入的sid为22,则会插入失败,违反外键约束,因为外键sid
来自stu表中的id的主键,即stu中的id没有等于22的数据。
级联删除:将stu表中id为2的学生删除,该学生在sc表中的成绩也会级联删除
delete from stu where sid = ‘2‘;
![技术图片](https://img.gxlcms.com//Uploads-s/new/2020-10-11-qlqqti/20190718194342193223.png)
级联更新:stu表中id为3的学生更改为id为6,该学生在sc表中的对应id也会级联更新
update stu set sid=6 where sid=‘3‘;
![技术图片](https://img.gxlcms.com//Uploads-s/new/2020-10-11-qlqqti/20190718194342775277.png)
注意
删除表的时候必须先删除外键表(sc),再删除主键表(stu)
![技术图片](https://img.gxlcms.com//Uploads-s/new/2020-10-11-qlqqti/20190718194342851452.png)
上图为违反外键约束,不能删除
![技术图片](https://img.gxlcms.com//Uploads-s/new/2020-10-11-qlqqti/20190718194342990129.png)
上图为正常删除,先删除sc表,再删除stu表!
Mysql实现级联操作(级联更新、级联删除)(转)
标签:signed 复制 mic -- alt nod 等于 tle mys