我在尝试删除表中的特定记录时遇到以下消息错误 (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/