码迷,mamicode.com
首页 > 数据库 > 详细

数据库几张表有主外键关系怎么删除

时间:2015-12-20 22:09:00      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

1. trigger ,数据库触发器操作。在数据库完成,
先删子表后删主表,连接数据库次数太多,性能估计不太好。

 

2. 级联删除

在创建表时定义,如下所示的b表:

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

 

数据库几张表有主外键关系怎么删除

标签:

原文地址:http://www.cnblogs.com/shanheshui/p/5061717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!