MySQL でユーザー変数としてクエリ結果にアクセス
MySQL ではクエリ結果に基づいたユーザー変数の設定が可能であり、ネストされたクエリの必要性が軽減されます。 .
アプローチ:
これを実現するには、クエリ自体に変数割り当てを組み込みます:
<code class="mysql">SET @user := 123456; SELECT @group := `group` FROM user WHERE user = @user; SELECT * FROM user WHERE `group` = @group;</code>
例:
列「user」と「group」を持つ「user」という名前のテーブルを考えます:
<code class="mysql">CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);</code>
Query:
<code class="mysql">SET @user := 123456; SELECT @group := `group` FROM user WHERE user = @user; SELECT * FROM user WHERE `group` = @group;</code>
出力:
<code class="mysql">+--------+-------+ | user | group | +--------+-------+ | 123456 | 5 | | 111111 | 5 | +--------+-------+ 2 rows in set (0.00 sec)</code>
代替アプローチ:
代替方法は、サブクエリ内で「LIMIT 1」を使用することです:
<code class="mysql">SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;</code>
SET ステートメントでは代入演算子として := を使用することを忘れないでください。非 SET ステートメントでは代入に := が必要ですが、= は比較演算子として扱われます。
以上が以下に、質問形式のテキストに基づいた記事のタイトルをいくつか示します。 * MySQL でユーザー変数としてクエリ結果にアクセスするにはどうすればよいですか? * MySQL のクエリ結果に基づいてユーザー変数を割り当てることはできますか? * 何の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。