java - 查找是否因为重复项而抛出 SQLException

标签 java sql exception

我有一个与数据库无关的 Java 程序,我需要知道在插入时是否因重复键而抛出 SQLException。

如果我使用单个数据库驱动程序,我会简单地使用 ErrorCode,但由于我可以使用非常不同的引擎,因此 ErrorCode 是不一样的。

有人做过吗?有什么想法吗?

很多TIA!

编辑:我有一个配置文件,用于存储驱动程序类(即:org.apache.derby.jdbc.ClientDriver)和一些其他需要的信息(即:用户名、密码、url。 ..).连接始终作为“java.SQL.Connection”传递,所以我真的不关心正在使用什么驱动程序。

最佳答案

这正是 SQLException.getSQLState() 的用途。根据 Google 的说法,“23000”表示至少在 MySQL 中违反了唯一约束。 , PostgreSQL , 和 Oracle .

关于java - 查找是否因为重复项而抛出 SQLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/726856/

相关文章:

java - 使用单独的 Controller 进行拦截

php - 网页附加内容的标准DB表结构?

mysql - 在两列上使用排序优化简单的 mysql 查询

mysql group by 2列的唯一组合

Java 链表 NoSuchElementException

java - 如何将 Google 的 DateTime 对象转换为 long 类型值?

java - Java 中的垃圾收集器会自动工作吗?

javax.el.PropertyNotFoundException : Property 'id' not found on type model. 杂货店

exception - 如何找到 "ignored"的异常?

java - 实现有效 Java 特性的方法?