Mysql
 sql >> Database >  >> RDS >> Mysql

Cattura l'eccezione di inserimento chiave duplicata

Sembra che mysql stia generando un codice di errore 1062 per la chiave primaria duplicata. Puoi controllare il codice di errore per la tua eccezione 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 
    }
}

Si noti che questo approccio non riguarda fornitori di database incrociati, poiché fornitori diversi potrebbero avere codici di errore diversi per PK duplicati.