java - 获取FK异常涉及的特定列

标签 java mysql spring exception foreign-keys

我在尝试删除表中的特定记录时遇到以下消息错误 (DataIntegrityViolationException):

无法删除或更新父行:外键约束失败(company.table_parent、CONSTRAINT table_parent_ibfk_1 FOREIGN KEY (id_son) REFERENCES 布局 (id))

我已经知道原因:我正在尝试删除一条记录,但是它正在其他表中使用。

我想知道是否存在包含事务尝试涉及的表和列的属性,以便我可以正确处理异常而不检查错误消息内容。

最佳答案

我不知道此调用是否包含在外部包装事务中。据我所知,您可以:

(A) 进行调用并解析错误消息。您将知道违规的表格/列。

(B) 在更新/删除调用之前查询 FK 表(父表或子表)中是否存在怀疑后续违规的列。

看待 B 的另一种方式是,您可能会针对父表执行此操作,而它是一个子表,它正在咆哮说您即将孤立我

关于java - 获取FK异常涉及的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31301343/

相关文章:

java - 要获取的 SQL,如果不存在则插入新条目

mysql - Spring MVC 无法删除父行?

java - 为什么 applicationContext.xml 中需要 <beans> 属性?

java - HashMap 。使用自定义类型作为值

java - Tomcat上传文件到哪里?

java - 无法在我的 Mac 上安装 Eclipse IDE

php - 使用 AJAX 将数据发送到数据库失败

java - JXLS - 为空白单元格添加公式,公式就消失了

java - 如何从 unix 时间戳中提取小时数?

java - 如何在 Spring-Boot 微服务项目中实现 HATEOAS