Maison  >  Article  >  base de données  >  Voici quelques titres d’articles basés sur votre texte sous forme de questions : * Comment accéder aux résultats de requête en tant que variables utilisateur dans MySQL ? * Puis-je attribuer des variables utilisateur en fonction des résultats de requête dans MySQL ? * Quoi

Voici quelques titres d’articles basés sur votre texte sous forme de questions : * Comment accéder aux résultats de requête en tant que variables utilisateur dans MySQL ? * Puis-je attribuer des variables utilisateur en fonction des résultats de requête dans MySQL ? * Quoi

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 10:46:30146parcourir

Here are a few article titles based on your text in a question format:

* How to Access Query Results as User Variables in MySQL?
* Can I Assign User Variables Based on Query Results in MySQL?
* What are the Different Methods for Setting User Variables Ba

Accéder aux résultats de requête en tant que variables utilisateur dans MySQL

La définition de variables utilisateur en fonction des résultats de requête est réalisable dans MySQL, réduisant ainsi le besoin de requêtes imbriquées .

Approche :

Pour ce faire, incorporez l'affectation de variable dans la requête elle-même :

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;</code>

Exemple :

Considérons une table nommée "user" avec les colonnes "user" et "group":

<code class="mysql">CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);</code>

Requête :

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;</code>

Sortie :

<code class="mysql">+--------+-------+
| user   | group |
+--------+-------+
| 123456 |     5 |
| 111111 |     5 |
+--------+-------+
2 rows in set (0.00 sec)</code>

Approche alternative :

Une méthode alternative consiste à utiliser « LIMIT 1 » dans une sous-requête :

<code class="mysql">SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group; 
SELECT * FROM user WHERE `group` = @group;</code>

N'oubliez pas d'utiliser := comme opérateur d'affectation dans les instructions SET. Les instructions non SET nécessitent := pour l'affectation, tandis que = est traité comme un opérateur de comparaison.

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