Heim >Datenbank >MySQL-Tutorial >Wie lege ich Benutzervariablen aus Abfrageergebnissen in MySQL fest?

Wie lege ich Benutzervariablen aus Abfrageergebnissen in MySQL fest?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 19:21:29596Durchsuche

How to Set User Variables from Query Results in MySQL?

Benutzervariablen aus Abfrageergebnissen in MySQL festlegen

Es ist möglich, Benutzervariablen mit der Ausgabe einer Abfrage in MySQL zu füllen. Um dies zu erreichen, integrieren Sie die Variablenzuweisung in die Abfrage selbst. Zum Beispiel:

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;</code>

Testen Sie dies, indem Sie eine Tabelle erstellen:

<code class="mysql">CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);</code>

Die resultierende Ausgabe zeigt, wie die Benutzervariable @group mit der entsprechenden Gruppen-ID gefüllt wird:

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

Hinweis: Sie können entweder = oder : = als Zuweisungsoperator in SET-Anweisungen verwenden. In anderen Kontexten sollte jedoch nur : = verwendet werden, da = in diesen Fällen ein Komparator ist.

Aktualisierung:

Ein alternativer Ansatz ist die Verwendung der LIMIT-Klausel :

<code class="mysql">SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group;
SELECT * FROM user WHERE `group` = @group;</code>

Das obige ist der detaillierte Inhalt vonWie lege ich Benutzervariablen aus Abfrageergebnissen in MySQL fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn