什么是级联删除?什么是级联更新?什么是级联置空?
项城二高外键的级联删除:如果⽗表中的记录被删除,则⼦表中对应的记录⾃动被删除
⽗表——被外键引⽤的表
⼦表——引⽤⽗表中的键作为外键的表
1.解释:
⽗表中删除包含主键值的⾏的操作,该值由⼦表的现有⾏中的外键列引⽤。在级联删除中,删除⽗表中的记录时,同时删除⼦表中外键引⽤此主键的记录。
例:
employee 表中有员⼯的dept_id 引⽤department表中dept_id( 同时为deptartment主键 )作为外键,当department表(⽗表)中⼀个部门被删除,employee表(⼦表)中引⽤这个部门的dept_id作为dept_id的记录也⾃动被删除。
2.语法:
Foreign Key
(column[,...n])
references referenced_table_name[(ref_column[,...n])]
[on delete cascade]
[on update cascade]
油菜花开了3.注释:
:列名
referenced_table_name:参考的表名称
ref_name:外键要参考的表的主键列
on delete:删除级联
on update:更新级联
SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
create table a
(
id varchar(20) primary key,
password varchar(20) not null
世界十大航空公司)
create table b
高考各科考试时间(
英文推荐信模板id int identity(1,1) primary key,
name varchar(50) not null,
urId varchar(20),
foreign key (urId) references a(id) on delete cascade
)
表B创建了urId 对应A的主码ID,声明了级联删除
4.测试数据:
inrt a values ('11','aaa')
日常监督inrt a values('23','aaa')
《忆江南》古诗inrt b values('da','11')
红与黑简介inrt b values('das','11')
inrt b values('ww','23')
删除A表内id为‘11’的数据,发现B表内urId 为“11”也被数据库⾃动删除了,这就是级联删除
delete a where id='11'
5.级联置空: