600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > mysql数据库教程级联_Mysql实现级联操作(级联更新 级联删除)

mysql数据库教程级联_Mysql实现级联操作(级联更新 级联删除)

时间:2023-01-10 06:07:55

相关推荐

mysql数据库教程级联_Mysql实现级联操作(级联更新 级联删除)

tablestu(

sidint UNSIGNED primary keyauto_increment,

namevarchar(20) not null)

TYPE=InnoDB charset=utf8;create tablesc(

scidint UNSIGNED primary keyauto_increment,

sidint UNSIGNED not null,

scorevarchar(20) default ‘0‘,index (sid), --外键必须加索引

FOREIGN KEY (sid) REFERENCES stu(sid) ON DELETE CASCADE ON UPDATE CASCADE)

TYPE=InnoDB charset=utf8;

--说明: 外键必须建立索引;

FOREIGN key(sid) 设置外键,把sid设为外键

REFERENCES stu(sid) 引用作用。引用stu表中的sid

ON DELETE CASCADE 级联删除

ON UPDATE CASCADE 级联更新

二、向两张表插入数据

insert into stu (name) value (‘zxf‘);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‘);

注意:在sc表中插入数据时,若插入的sid为22,则会插入失败,违反外键约束,因为外键sid

来自stu表中的id的主键,即stu中的id没有等于22的数据。

级联删除:将stu表中id为2的学生删除,该学生在sc表中的成绩也会级联删除

delete from stu where sid = ‘2‘;

级联更新:stu表中id为3的学生更改为id为6,该学生在sc表中的对应id也会级联更新

update stu set sid=6 where sid=‘3‘;

注意

删除表的时候必须先删除外键表(sc),再删除主键表(stu)

上图为违反外键约束,不能删除

上图为正常删除,先删除sc表,再删除stu表!

Mysql实现级联操作(级联更新、级联删除)

标签:image学生roundkey不能code也会innodbinto

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:/zxf100/p/6812269.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。