首页 新闻 搜索 专区 学院

删除表中关联数据

0
悬赏园豆:10 [已解决问题] 解决于 2022-07-19 15:00

有三张表,有项目表、标签表、关联表,关系是关联表引用了项目表的id,引用了标签表的标签,怎么样做到,关联表中有有项目表和关联表的字段。删除项目表中的字段或标签表的字段,判断关联表是否有数据,如果没有,删除成功,如果有,删除失败。
求SQL语句
项目表的字段
id author title status names
标签表的字段
id type
关联表字段
id(项目表id) typeid(标签表id)

宋人鱼的主页 宋人鱼 | 初学一级 | 园豆:16
提问于:2022-06-30 15:16
< >
分享
最佳答案
0

if not exists(select 0 from 关联表 inner join 项目表 on 项目表id=id)
begin
删除语句
end
else
begin
删除失败
end

收获园豆:10
疯狂阿坤 | 菜鸟二级 |园豆:235 | 2022-06-30 15:49

在mysql数据库中

宋人鱼 | 园豆:16 (初学一级) | 2022-06-30 16:16
其他回答(2)
0

delete from 项目表 where id = ? and id not in (select id from 关联表);
delete from 标签表 where id = ? and id not in (select typeid from 关联表);

bug厌恶者 | 园豆:206 (菜鸟二级) | 2022-07-01 17:46
0

外键约束,就是干这事的

luzemin | 园豆:543 (小虾三级) | 2022-07-04 23:00

主流关系数据库都有的设计

支持(0) 反对(0) luzemin | 园豆:543 (小虾三级) | 2022-07-04 23:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册