Wygląda na to, że mysql wyświetla kod błędu 1062 dla zduplikowanego klucza podstawowego. Możesz sprawdzić kod błędu dla wyjątku 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
}
}
Zauważ, że to podejście nie dotyczy różnych dostawców baz danych, ponieważ różni dostawcy mogą mieć różne kody błędów dla duplikatów PK.