捕获重复的键插入exception

我有一个表,其中包含一个名为id的唯一主键列。 有时,当我执行INSERT查询时,我收到错误,因为已经使用了id值。

我可以通过trycatch捕获这个特定的错误吗?

看起来mysql正在为重复的主键抛出1062错误代码。 您可以检查sqlexception的错误代码:

 public static final int MYSQL_DUPLICATE_PK = 1062; try{ //code that throws sql exception } catch(SQLException e){ if(e.getErrorCode() == MYSQL_DUPLICATE_PK ){ //duplicate primary key } } 

请注意,此方法不是跨数据库供应商,因为不同的供应商可能具有不同的重复PK错误代码。