Maison > base de données > tutoriel mysql > le corps du texte

Comment résoudre MySQL si alors erreur

PHPz
Libérer: 2023-05-28 15:52:51
avant
1989 Les gens l'ont consulté

L'instruction if-then dans MySQL est généralement utilisée pour implémenter le contrôle conditionnel. Son format de base est le suivant :

IF condition THEN
    statement_list
END IF
Copier après la connexion

Parmi eux, la condition est une expression logique. Si l'expression est vraie, l'instruction dans Statement_list sera exécutée, sinon elle ne sera pas exécutée.

Cependant, lorsque nous utilisons des instructions if-then, nous devons prêter attention à certains détails. Ci-dessous, je présenterai plusieurs situations dans lesquelles des erreurs peuvent survenir et proposerai les solutions correspondantes.

1. Le mauvais opérateur est utilisé dans l'expression conditionnelle

L'utilisation du mauvais opérateur dans l'expression conditionnelle entraînera des problèmes avec l'instruction if-then. Par exemple, si des opérateurs de bits (&, |, ^, etc.) ou des opérateurs de concaténation de chaînes (||) sont utilisés dans l'expression conditionnelle, l'erreur suivante se produira :

mysql> IF (1|1) THEN SELECT 'TRUE' ELSE SELECT 'FALSE' END IF;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '|1) THEN SELECT 'TRUE' ELSE SELECT 'FALSE' at line 1
Copier après la connexion

Solution : Vérifiez si l'expression conditionnelle est utilisée Si l'opérateur est erroné, il doit être remplacé par le bon opérateur.

2. Il y a une erreur de syntaxe dans l'expression conditionnelle

S'il y a une erreur de syntaxe dans l'expression conditionnelle, cela entraînera une erreur dans l'instruction if-then. Par exemple, s'il manque des parenthèses ou des guillemets dans l'expression conditionnelle, l'erreur suivante se produira :

mysql> IF str = 'hello' THEN SELECT 'TRUE' ELSE SELECT 'FALSE' END IF;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 'hello' THEN SELECT 'TRUE' ELSE SELECT 'FALSE' at line 1
Copier après la connexion

Solution : Vérifiez s'il y a des erreurs de syntaxe dans l'expression conditionnelle et corrigez-la en conséquence.

3. Erreur de format d'instruction IF

Lors de l'utilisation d'instructions if-then, si le format est incorrect, cela provoquera également des erreurs d'instruction. Si l'instruction END IF est manquante ou si l'espace entre l'instruction IF et l'instruction SELECT est omis, l'erreur suivante se produira :

mysql> IF (1=1) THEN SELECT 'TRUE' ELSE SELECT 'FALSE'
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ELSE SELECT 'FALSE'' at line 1
Copier après la connexion

Solution : Vérifiez si le format de l'instruction IF est correct, utilisez correctement l'instruction END IF, et ajoutez les mots suivants après l'instruction IF. Ajoutez des espaces entre les instructions SELECT.

4. Le résultat de sortie de l'expression conditionnelle est vide

L'instruction IF peut contenir une erreur car le résultat de sortie de l'expression conditionnelle peut être vide. Lorsque les variables de l'expression conditionnelle ne sont pas définies ou que leur valeur est NULL, l'erreur suivante se produira

mysql> IF (a = 1) THEN SELECT 'TRUE' ELSE SELECT 'FALSE' END IF;
ERROR 1048 (23000): Column 'a' cannot be null
Copier après la connexion

Solution : Assurez-vous que les variables de l'expression conditionnelle ont été correctement définies et ne sont pas NULL.

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!