随看随点赞,养成好习惯 2023-06-28 14:03 采纳率: 61.5%
浏览 24

数据库删除一条数据时连带的把所有外键关联的也删除掉?如何进行?

今天要清一下数据,删除order表的数据,结果遇到了外键问题。然后我也是知道这个表确实被很多的表外键关联着。但是我不确定这个order到哪个阶段了,有多少外键表,而且一个一个表去找,去删除,太low了。有没有一次性解决的办法。在我不知道有哪些外键表的情况下,仅仅知道这个order表的id,在删除这个order的时候,遇到了外键关联,就把外键表中对应的数据删除掉,当然,如果外键表也有外键,那么也同样执行这种操作,等于是一种while循环操作,知道没有了外键约束,最终把order删除掉。

顺带说一句,我是用的postgresql数据库,我希望可以能在idea上的database功能上直接运行就可以删掉,可以的话,这个SQL语句我想要转成Repository方法来执行。

img

  • 写回答

2条回答 默认 最新

  • 於黾 2023-06-28 14:20
    关注

    创建外键约束时,可以使用ON DELETE CASCADE选项,这样当主表中的数据被删除时,相关的外键表中的数据也会被自动删除
    如果设置为ON DELETE NO ACTION,那么主表删除时外表不会自动删除,同时因为有外键约束存在,这个删除操作会报错,也即外表数据不删,主表不允许删

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月28日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画