我有一个与数据库无关的 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/