Maison >base de données >tutoriel mysql >Comment gérer une erreur dans MySQL

Comment gérer une erreur dans MySQL

coldplay.xixi
coldplay.xixioriginal
2020-10-23 09:31:083076parcourir

Comment gérer les erreurs MySQL : 1. Si une erreur 1062 se produit, exécutez l'instruction SELECT ; 2. Lorsque l'instruction SQL select ne renvoie pas de valeur, définissez [l_done=1] et continuez l'exécution ; Après la génération d'un message d'erreur, quittez le bloc ou la procédure stockée en cours ; 4. S'il y a une erreur, définissez [l_error] sur 1, puis exécutez.

Comment gérer une erreur dans MySQL

Méthode de gestion des erreurs MySQL :

1 S'il y a une erreur (non trouvée), définissez l_error. Continuez l'exécution après avoir été 1 :

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
SET l_error=1;

2. Si une erreur se produit (non trouvée), exécutez ROLLBACK et générez un message d'erreur avant de quitter le bloc ou la procédure stockée en cours.

DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
SELECT 'Error occurred – terminating';
END;

3. Si une erreur MySQL 1062 (valeur de clé en double) se produit, exécutez l'instruction SELECT (envoyer un message au programme appelant), puis continuez l'exécution

DECLARE CONTINUE HANDER FOR 1062
SELECT 'Duplicate key in index';

4 Si erreur SQLSTATE 2300. (valeur de clé en double) (valeur de clé) se produit, exécutez l'instruction SELECT (envoyez un message au programme appelant) et continuez l'exécution

DECLARE CONTINUE HANDER FOR SQLSTATE '23000'
SELECT 'Duplicate key in index';

5 Lorsque le curseur ou l'instruction de sélection SQL ne renvoie pas de valeur, définissez. l_done=1 et continuez l'exécution

DECLARE CONTINUE HANDLER FOR NOT
FOUND
SET l_done=1;

6 Cet exemple est le même que l'exemple précédent sauf qu'il utilise la variable SQLSTATE au lieu de la condition nommée

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000 '
SET l_done=1;

7. variable de code d'erreur au lieu de la condition nommée ou de la variable SQLSTATE. Les deux exemples sont les mêmes

DECLARE CONTINUE HANDLER FOR 1329
SET l_done=1;

Plus de recommandations d'apprentissage gratuites associées : tutoriel mysql (vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Articles Liés

Voir plus