数据库几张表有主外键关系怎么删除
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'