Sieht so aus, als würde mysql den Fehlercode 1062 für einen doppelten Primärschlüssel ausgeben. Sie können den Fehlercode für Ihre SQL-Ausnahme überprüfen:
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
}
}
Beachten Sie, dass dieser Ansatz nicht datenbankübergreifend ist, da verschiedene Anbieter möglicherweise unterschiedliche Fehlercodes für doppelte PK haben.