Définition des variables utilisateur à partir des résultats de requête dans MySQL
Il est possible de remplir des variables utilisateur avec le résultat d'une requête dans MySQL. Pour y parvenir, intégrez l’affectation de variable dans la requête elle-même. Par exemple :
<code class="mysql">SET @user := 123456; SELECT @group := `group` FROM user WHERE user = @user; SELECT * FROM user WHERE `group` = @group;</code>
Testez ceci en créant une table :
<code class="mysql">CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);</code>
Le résultat résultant montre comment la variable utilisateur @group est renseignée avec l'ID de groupe approprié :
<code class="mysql">SET @user := 123456; SELECT @group := `group` FROM user WHERE user = @user; SELECT * FROM user WHERE `group` = @group; +--------+-------+ | user | group | +--------+-------+ | 123456 | 5 | | 111111 | 5 | +--------+-------+ 2 rows in set (0.00 sec)</code>
Remarque : vous pouvez utiliser = ou : = comme opérateur d'affectation dans les instructions SET. Cependant, dans d'autres contextes, seul : = doit être utilisé car = est un comparateur dans ces cas.
Mise à jour :
Une approche alternative consiste à utiliser la clause LIMIT :
<code class="mysql">SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;</code>
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!