Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Capturar exceção de inserção de chave duplicada


Parece que o mysql está lançando o código de erro 1062 para a chave primária duplicada. Você pode verificar o código de erro para sua exceção 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 
    }
}

Observe que essa abordagem não é um fornecedor de banco de dados cruzado, pois fornecedores diferentes podem ter códigos de erro diferentes para PK duplicado.