捕获重复的键插入exception
我有一个表,其中包含一个名为id
的唯一主键列。 有时,当我执行INSERT
查询时,我收到错误,因为已经使用了id
值。
我可以通过try
和catch
捕获这个特定的错误吗?
看起来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错误代码。