Có vẻ như mysql đang ném mã lỗi 1062 cho khóa chính trùng lặp. Bạn có thể kiểm tra mã lỗi cho ngoại lệ sql của mình:
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
}
}
Lưu ý rằng cách tiếp cận này không phải là nhà cung cấp cơ sở dữ liệu chéo, vì các nhà cung cấp khác nhau có thể có các mã lỗi khác nhau cho PK trùng lặp.