首頁  >  文章  >  資料庫  >  以下是一些基於您的問題格式文字的文章標題: * 如何在 MySQL 中存取作為使用者變數的查詢結果? * 我可以根據My​​SQL中的查詢結果來指派使用者變數嗎? * 什麼

以下是一些基於您的問題格式文字的文章標題: * 如何在 MySQL 中存取作為使用者變數的查詢結果? * 我可以根據My​​SQL中的查詢結果來指派使用者變數嗎? * 什麼

Patricia Arquette
Patricia Arquette原創
2024-10-27 10:46:30146瀏覽

Here are a few article titles based on your text in a question format:

* How to Access Query Results as User Variables in MySQL?
* Can I Assign User Variables Based on Query Results in MySQL?
* What are the Different Methods for Setting User Variables Ba

在MySQL 中將查詢結果作為使用者變數存取

在MySQL 中根據查詢結果設定使用者變數是可行的,減少了嵌入套查詢的需要.

方法:

要實現此目的,請將變數賦值合併到查詢本身:

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

範例:

考慮一個名為「user」的表,其中包含「user」和「group」欄位:

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

查詢:

<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 中存取作為使用者變數的查詢結果? * 我可以根據My​​SQL中的查詢結果來指派使用者變數嗎? * 什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn