zoukankan      html  css  js  c++  java
  • oracle删除互相关联的记录

    今天遇到一个问题,在数据库中删除一条记录,但是在删除的时候报错了,报出该记录已经被其他子记录引用,想了好久不知道怎么做,后来发现报错提示信息中会提示删除该记录时影响了那个约束条件,于是思路出来了:

    1、知道了约束名称,怎么知道这个约束是作用于哪张表、那个字段上的啊

    2、找到了这张表,看看那个字段的约束用到了这个约束名

    3、如果这条记录时无用的,那么引用这条记录的其他自己录也应该没用了

    于是查找怎么根据约束名称找到相应的表、字段,那么下面这句SQL就能根据约束名找到相应的表:

    1 SELECT * FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'PK_MEDIA' ; 

    查询出来的记录集如下图:

    这样我们就找到了这张表,通过查询字段就可以知道是哪个字段的约束了。

    方法比较笨,如果有什么好的办法,留言吧。

    如下图:

    删除某记录时会报错:

    鼠标右击信息框的文字就可以进行复制,括号里面就是受影响的约束。

    MIXCOALDB.FK2D61297D54D584B:MIXCOALDB-数据库名称,FK2D61297D54D584B-约束名称

  • 相关阅读:
    Linux 期中架构 PHP
    Linux 期中架构 MySQL
    Python 示例 饮水记录
    Linux 期中架构 inotify
    Linux期中架构 全网备份案例
    分布式存储系统Ceph部署过程 · Jayden's Blog
    Go语言汇编器的设计
    linux基础3
    6.2.2 多余的列另起一行
    linux网络设备驱动2
  • 原文地址:https://www.cnblogs.com/smallrock/p/3620732.html
Copyright © 2011-2022 走看看