Das Zuweisen 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ückgreifen zu müssen.
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;
Verwenden 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 liefert das folgende 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;
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3