Maison >base de données >tutoriel mysql >Comment puis-je simuler la logique IF ELSE dans les requêtes MySQL ?
Comment émuler les instructions IF ELSE dans les requêtes MySQL
Dans MySQL, les instructions IF ELSE ne sont pas prises en charge nativement. Cependant, vous pouvez obtenir des fonctionnalités similaires en utilisant l'expression CASE.
Comprendre les expressions CASE
L'expression CASE évalue une série de conditions et renvoie un résultat basé sur la première correspondance condition. Il prend la forme suivante :
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
Exemple
Pour reproduire l'instruction IF ELSE dans votre question, vous utiliserez une expression CASE comme suit :
SELECT col1, col2, (CASE WHEN (action = 2 AND state = 0) THEN 1 ELSE 0 END) AS state FROM tbl1;
Dans cette requête :
Accès au Valeur renvoyée
Une fois la requête exécutée, vous pouvez accéder à la valeur calculée dans la colonne d'état de l'ensemble de résultats. Dans votre exemple, vous pouvez utiliser le code suivant :
$row['state'] // This should equal 1
Notez que cette requête calcule uniquement la valeur de state en fonction des conditions spécifiées dans l'expression CASE. Il ne met pas à jour la colonne d'état dans la base de données.
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!