Mysql
 sql >> Base de données >  >> RDS >> Mysql

Attraper l'exception d'insertion de clé en double

On dirait que mysql lance le code d'erreur 1062 pour la clé primaire en double. Vous pouvez vérifier le code d'erreur de votre exception 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 
    }
}

Notez que cette approche n'est pas multifournisseur de bases de données, car différents fournisseurs peuvent avoir des codes d'erreur différents pour les PK en double.