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!