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

Détecter l'échec de la mise à jour/insertion de mysql en raison d'une contrainte unique violée

Maintenant que nous sommes en 2015, il y a très peu de raisons de ne pas utiliser PHP AOP mise en œuvre.

La méthode "OO" appropriée et moderne pour détecter et gérer un échec d'insertion dû à une violation de contrainte de clé est la suivante :

try {
    //PDO query execution goes here.
}
catch (\PDOException $e) {
    if ($e->errorInfo[1] == 1062) {
        //The INSERT query failed due to a key constraint violation.
    }
}

L'PDOException l'objet a un lot plus à dire sur la nature spécifique de l'erreur, aussi (plus de détails que l'on pourrait jamais vouloir ou avoir besoin, apparemment).