首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在抛出SQLIntegrityConstraintViolationException时查找列和表名

如何在抛出SQLIntegrityConstraintViolationException时查找列和表名
EN

Stack Overflow用户
提问于 2014-07-01 18:12:17
回答 2查看 372关注 1票数 1

如何找到哪个表中的哪一列导致了SQLIntegrityConstraintViolationException?当我捕捉到这个异常时,只有message (纯文本)和SQLState存在。但是我找不到用于生成用户友好消息的表名和列

EN

回答 2

Stack Overflow用户

发布于 2014-07-01 18:36:02

与所有SQLExceptions一样,细节取决于您的DB供应商。如果幸运的话,您可以解析exception.getMessage()来获取这些信息。但是没有通用的Java端方法来解决这个问题。

票数 2
EN

Stack Overflow用户

发布于 2016-03-18 18:56:38

堆栈确实包含被违反的唯一键的名称。您可以将创建的键的名称与正在catch子句中查询的数据库的名称进行比较,并相应地生成错误消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24507668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档