有两张表 A表和B表 B表中有外键 外键是A表中的主键 根据A表中主键删除数据的同时删除B表中外键是A表主键

数据删除语句怎么写?A表字段主键名称B表字段主键外键名称... 数据 删除语句怎么写?A表字段 主键 名称 B表字段 主键 外键 名称 展开
 我来答
百度网友b91985e
推荐于2016-01-18 · TA获得超过201个赞
知道小有建树答主
回答量:170
采纳率:86%
帮助的人:39.9万
展开全部
常用办法1
delete from B where B.外键=x;
delete from A where A.ID=x;
办法2(现在用的人少了):
建立触发器,再删除A中数据的同事删除B表中的满足条件的汪塌数据
办法3:
在为B表创建外键约束的时锋核候指定练级删除困基圆,删除A表中的记录时,系统自动删除B表中对应的记录。
创建脚本:
create table A1(主键 int not null primary key, 名称 varchar(20));
go
create table B1(主键 int not null primary key, 外键 int, 名称 varchar(20),
constraint FK_A foreign key(外键) references A1(主键) on delete cascade); --指定联级删除。
go
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
摆渡浮桥
推荐于2018-03-15 · TA获得超过3629个赞
知道大有可为答主
回答量:1610
采纳率:100%
帮助的人:2212万
展开全部
在隐掘颂为B表创建外键约束的时候指定灶郑练级删除,删除A表中的记录时,系统自动删除B表中对应的记录。
创建脚本:
create table A1(主键 int not null primary key, 名称 varchar(20));
go
create table B1(主键 int not null primary key, 外键 int, 名称散轿 varchar(20),
constraint FK_A foreign key(外键) references A1(主键) on delete cascade); --指定联级删除。
go
追问
表是已经建好的,里面都有数据了,没法改了,删除语句怎么写?
追答
如果已经建立好了联级删除,直接删除A1表的记录,B1表中对应的记录就会自动删除。
如果只建立了外键约束而没有建立联级删除,则先删除B1表中的相应的记录,再删除A1表中的记录。否则,会因违反外键约束而失败。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kennychenxiang
2012-10-30 · TA获得超过201个赞
知道小有建树答主
回答量:180
采纳率:100%
帮助的人:180万
展开全部
delete A where 条件
即可。

前提是在建立滚孙吵外键关系时, 在删除选项里选择 “层叠”。这个选不同SQL版本可能不同,不过你大侍进入凯耐到外键设置窗口看下就明白了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式