问题描述
看起来mysql为重复的主键抛出了1062错误代码。您可以检查sql异常的错误代码:
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可能具有不同的错误代码。
解决方法
我有一个带有唯一主键列的表id
。有时,当我执行INSERT
查询时会收到错误消息,因为该id
值已被使用。
我可以使用try
和捕获此特定错误catch
吗?