【资料图】
1、restrict和cascade都是在外码定义时指定的关键字。
2、外码所指定的字段取值受限制,可以取两种值:所参照主码中出现过的值;可以取空值。
3、外码所指定的字段中数据的增删改是受到外码约束的限制的,在数据增删改时会检查是否满足外码约束条件,当不满足外码的条件时,所做的处理与定义外码时指定的restrict关键字或者cascade关键字有关。
4、下面以一个具体例子说明:设有两张表:student和class,表定义语句为:create table class(cno int primary key, cname varchar(20))create table student(sno int primary key, sname varchar(10), cno int, foreign key(cno) references class(cno) on delete restrict)第一张表class中,cno是主码,第二张表student中,sno是主码,cno是外码,外码的取值必须在class的主码cno中出现过,或者取空值。
5、注意,在外码定义时指定了restrict关键字,此时,如果从class表中删除一条数据(即删除一个班级),student表中恰好有该班级的学生,则会报错,不允许删除。
6、如果在student表的外码定义时指定的是cascade,即create table student(sno int primary key, sname varchar(10), cno int, foreign key(cno) references class(cno) on delete cascade)则表示级联删除,删除class表中的一条数据时,会把student表中对应的数据一起删除掉。
7、此外,在外码定义时还可以指定on delete set null,表示删除class表中的一条数据时,如果student表中有对应的数据,则把这些对应的数据的cno设置为空值NULL。
本文为大家分享到这里,希望小伙伴们有帮助。
标签:
环球看点!restrictive relative clause_restrict
国家发改委:预计猪价或延续低位运行,反弹空间有限 世界快消息
特斯拉真的发了首支广告片,马斯克再次自我打脸_今日热门
东莞控股:同意解除轨道1号线PPP项目合同_即时焦点
周末要闻:美光公司在华销售产品未通过网络安全审查 债务上限谈判最后一刻才能达成? 小扎财富暴涨440亿_天天新资讯
上海驾驶证到期换证地点 浦东_上海驾驶证到期换证地点
据点贸易恶人谷怎么做_据点-全球播资讯
当前热门:广州海珠:“啤酒+音乐”浪漫开唱!琶醍干杯音约会点亮夜经济
2k13战术怎么设置_2k13战术|环球短讯
环球观速讯丨自治区工作组深入南宁调查《合作备忘录》一事X 关闭
X 关闭