restriction是什么意思(restrict)
您好,蔡蔡就为大家解答关于restriction是什么意思,restrict相信很多小伙伴还不知道,现在让我们一起来看看吧!
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。
本文就讲到这里,希望大家会喜欢。
更多知识
-
狗狗生病了如何喂药?口服方法?分享简单实用的方法!
原标题:狗狗生病了如何喂药?口服方法?分享简单实用的方法! 狗...朕略傻 221 阅读
-
楼市大消息!房主买家各收1.5%,这个省会城市出手了!
原标题:楼市大消息!房主买家各收1.5%,这个省会城市出手了! 继...Rose情调※ 294 阅读
-
6月,带你“种草”乐山非遗!
原标题:6月,带你“种草”乐山非遗! 关于“非遗”,你了解多少...我真窝囊 265 阅读
-
伊朗要与多国组建新海军联盟 美国慌了:违背情理
原标题:伊朗要与多国组建新海军联盟 美国慌了:违背情理 伊朗军...臫欺欺亼 279 阅读
-
【环时深度】神十五乘组凯旋,哪些“神器”护航?
原标题:【环时深度】神十五乘组凯旋,哪些“神器”护航? 【环球...俄只是俄ゅ 309 阅读
-
果然紧跟!美印太司令部发声炒作中国导弹驱逐舰逼退美舰“不安全”
原标题:果然紧跟!美印太司令部发声炒作中国导弹驱逐舰逼退美舰“不安全” ...年少纵马且长歌 277 阅读
-
西甲大结局:巴萨夺冠压皇马 莱万金靴格刀助攻王
原标题:西甲大结局:巴萨夺冠压皇马 莱万金靴格刀助攻王 北...贤↘内助 300 阅读
-
被羁押22年后身患癌症,河北廊坊灭门案被告原伟东申请现场出庭被拒
原标题:被羁押22年后身患癌症,河北廊坊灭门案被告原伟东申请现场出庭被拒 ...回忆湿了眼 242 阅读
撰写回复