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

Patricia Arquette
發布: 2024-10-27 10:46:30
原創
145 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!