连带删除怎么处理?

作者站长头像
站长
· 阅读数 5

有两个表A,B,A表:连带删除怎么处理?B表:连带删除怎么处理?,B表的dict_id字段为A表的id字段。如果我要删除A表的一条记录,同时也要删除关联A表的B表的记录,问题:如果删除A表记录成功,删除B表记录失败,失败情况:1.B表没有关联A表的记录 2.删除B表过程失败,比如sql语句错误。第一种情况最终结果为成功,第二种结果为失败,进行回滚。以下为有bug代码:当id不存在,没有删除数据时,最后还是返回true,没有返回false连带删除怎么处理?我应该怎么修改?方案一:删除A表记录成功后,查询B表是否有关联记录,有进行删除,删除失败则最终结果为失败,抛异常回滚。此方案是否可行?但每次删除查多一次B表会不会太耗费性能?还有其它的解决方案吗?

回复
1个回答
avatar
test
2024-07-03

所谓的BUG是指什么呢,是指事务注解没生效吗?如果是的话,是因为异常被catch了。最简单的方法,把异常往出抛,在调用处做捕获处理。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容