sql >> Base de Datos >  >> RDS >> Mysql

Captura la excepción de inserción de clave duplicada

Parece que mysql arroja un código de error 1062 para la clave principal duplicada. Puede verificar el código de error para su excepción 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 
    }
}

Tenga en cuenta que este enfoque no es de proveedores de bases de datos cruzadas, porque diferentes proveedores pueden tener diferentes códigos de error para PK duplicado.