Die Zuweisung benutzerdefinierter Variablen basierend auf Abfrageergebnissen verbessert die Möglichkeiten zur Datenbankmanipulation. In diesem Artikel wird eine Methode untersucht, um dies in MySQL zu erreichen, ohne auf verschachtelte Abfragen zurückzugreifen.
Entgegen der landläufigen Meinung kann die Zuweisung von Benutzervariablen direkt in Abfragen integriert werden. Der Zuweisungsoperator für SET-Anweisungen ist entweder = oder :=. Allerdings muss := in anderen Anweisungen verwendet werden, da = für Vergleiche reserviert ist.
Um diese Technik zu veranschaulichen, nehmen wir an, dass USER und GROUP eindeutig sind. Die folgende Abfragesequenz veranschaulicht die Funktionalität:
SET @user := 123456; SELECT @group := `group` FROM USER WHERE user = @user; SELECT * FROM USER WHERE `group` = @group;
Verwendung einer Beispieltabelle mit den folgenden Daten:
CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);
Die Abfrage ergibt Folgendes Ergebnis:
+--------+-------+ | user | group | +--------+-------+ | 123456 | 5 | | 111111 | 5 | +--------+-------+
Alternativ kann die folgende Syntax verwendet werden:
SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;
Das obige ist der detaillierte Inhalt vonWie kann ich Benutzervariablen aus Abfrageergebnissen in MySQL zuweisen, ohne verschachtelte Abfragen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!