Maison >base de données >tutoriel mysql >Comment puis-je attribuer des variables utilisateur à partir des résultats de requête dans MySQL sans utiliser de requêtes imbriquées ?
L'attribution de variables définies par l'utilisateur en fonction des résultats de la requête améliore les capacités de manipulation de la base de données. Cet article explore une méthode pour y parvenir dans MySQL sans recourir à des requêtes imbriquées.
Contrairement à la croyance populaire, l'affectation des variables utilisateur peut être intégrée directement dans les requêtes. L'opérateur d'affectation pour les instructions SET est = ou :=. Cependant, := doit être utilisé dans d'autres instructions, car = est réservé aux comparaisons.
Pour illustrer cette technique, supposons que USER et GROUP soient uniques. La séquence de requête suivante présente la fonctionnalité :
SET @user := 123456; SELECT @group := `group` FROM USER WHERE user = @user; SELECT * FROM USER WHERE `group` = @group;
Utilisation d'un exemple de table avec les données suivantes :
CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);
La requête génère ce qui suit résultat :
+--------+-------+ | user | group | +--------+-------+ | 123456 | 5 | | 111111 | 5 | +--------+-------+
Comme alternative, la syntaxe suivante peut être utilisée :
SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;
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!