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
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!