以下是一些基于您的问题格式文本的文章标题: * 如何在 MySQL 中访问作为用户变量的查询结果? * 我可以根据MySQL中的查询结果分配用户变量吗? * 什么

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 中访问作为用户变量的查询结果? * 我可以根据MySQL中的查询结果分配用户变量吗? * 什么的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!