Vypadá to, že mysql hází kód chyby 1062 pro duplicitní primární klíč. Můžete zkontrolovat kód chyby pro vaši výjimku 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
}
}
Všimněte si, že tento přístup se netýká různých dodavatelů databází, protože různí dodavatelé mohou mít různé chybové kódy pro duplicitní PK.