有三张表,有项目表、标签表、关联表,关系是关联表引用了项目表的id,引用了标签表的标签,怎么样做到,关联表中有有项目表和关联表的字段。删除项目表中的字段或标签表的字段,判断关联表是否有数据,如果没有,删除成功,如果有,删除失败。
求SQL语句
项目表的字段
id author title status names
标签表的字段
id type
关联表字段
id(项目表id) typeid(标签表id)
if not exists(select 0 from 关联表 inner join 项目表 on 项目表id=id)
begin
删除语句
end
else
begin
删除失败
end
在mysql数据库中
delete from 项目表 where id = ? and id not in (select id from 关联表);
delete from 标签表 where id = ? and id not in (select typeid from 关联表);
外键约束,就是干这事的
主流关系数据库都有的设计