频道栏目
首页 > 资讯 > SQL总结与测试 > 正文

级联删除

22-08-02        来源:[db:作者]  
收藏   我要投稿

外键的级联删除:如果父表中的记录被删除,则子表中对应的记录自动被删除

父表--被外键引用的表

子表--引用父表中的键作为外键的表

t0197236781f1d5a942.png

基本信息

中文名称

级联删除

外文名称

Foreign Keys with Cascade Delete

解释

其外键值引用删除主键值所有行

 

语言

Foreign Key

注释

ref_name:外键要参考的表主键列

目录

1解释:

2语法:

3注释:

4测试数据:

折叠编辑本段解释:

父表中删除包含主键值的行的操作,该值由子表的现有行中的外键列引用。在级联删除中,删除父表中的记录时,同时删除子表中外键引用此主键的记录。

例:

employee 表中有员工的dept_id 引用department表中dept_id( 同时为deptartment主键 )作为外键,当department表(父表)中一个部门被删除,employee表(子表)中引用这个部门的dept_id作为dept_id的记录也自动被删除。

折叠编辑本段语法:

Foreign Key

(column[,...n])

references referenced_table_name[(ref_column[,...n])]

[on delete cascade]

[on update cascade]

折叠编辑本段注释:

column:列名

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,

userId varchar(20),

foreign key (userId) references a(id) on delete cascade

)

表B创建了外码userId 对应A的主码ID,声明了级联删除

折叠编辑本段测试数据:

insert a values ('11','aaa')

insert a values('23','aaa')

insert b values('da','11')

insert b values('das','11')

insert b values('ww','23')

删除A表内id为'11'的数据,发现B表内userId 为"11"也被数据库自动删除了,这就是级联删除

delete a where id='11'

相关TAG标签
上一篇:ASP.NET 2.0网络编程入门与实践
下一篇:spring框架
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站