MySQL のクエリ結果からのユーザー変数の設定
MySQL のクエリの出力をユーザー変数に設定することができます。これを実現するには、変数の割り当てをクエリ自体に組み込みます。例:
<code class="mysql">SET @user := 123456; SELECT @group := `group` FROM user WHERE user = @user; SELECT * FROM user WHERE `group` = @group;</code>
テーブルを作成してこれをテストします:
<code class="mysql">CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);</code>
結果の出力は、ユーザー変数 @group に適切なグループ ID がどのように設定されるかを示します:
<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>
注: SET ステートメントでは代入演算子として = または : = を使用できます。ただし、他のコンテキストでは、= はコンパレータであるため、: = のみを使用する必要があります。
Update:
別のアプローチは、LIMIT 句を利用することです。 :
<code class="mysql">SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;</code>
以上がMySQL のクエリ結果からユーザー変数を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。