<small id='ktMPc'></small><noframes id='ktMPc'>

      <legend id='ktMPc'><style id='ktMPc'><dir id='ktMPc'><q id='ktMPc'></q></dir></style></legend>
        <bdo id='ktMPc'></bdo><ul id='ktMPc'></ul>

      <i id='ktMPc'><tr id='ktMPc'><dt id='ktMPc'><q id='ktMPc'><span id='ktMPc'><b id='ktMPc'><form id='ktMPc'><ins id='ktMPc'></ins><ul id='ktMPc'></ul><sub id='ktMPc'></sub></form><legend id='ktMPc'></legend><bdo id='ktMPc'><pre id='ktMPc'><center id='ktMPc'></center></pre></bdo></b><th id='ktMPc'></th></span></q></dt></tr></i><div id='ktMPc'><tfoot id='ktMPc'></tfoot><dl id='ktMPc'><fieldset id='ktMPc'></fieldset></dl></div>
      <tfoot id='ktMPc'></tfoot>

        MySQL:根据查询结果设置用户变量

        时间:2023-06-01

          1. <i id='Fn8qP'><tr id='Fn8qP'><dt id='Fn8qP'><q id='Fn8qP'><span id='Fn8qP'><b id='Fn8qP'><form id='Fn8qP'><ins id='Fn8qP'></ins><ul id='Fn8qP'></ul><sub id='Fn8qP'></sub></form><legend id='Fn8qP'></legend><bdo id='Fn8qP'><pre id='Fn8qP'><center id='Fn8qP'></center></pre></bdo></b><th id='Fn8qP'></th></span></q></dt></tr></i><div id='Fn8qP'><tfoot id='Fn8qP'></tfoot><dl id='Fn8qP'><fieldset id='Fn8qP'></fieldset></dl></div>
              <tbody id='Fn8qP'></tbody>

            <small id='Fn8qP'></small><noframes id='Fn8qP'>

                <tfoot id='Fn8qP'></tfoot>
                  <bdo id='Fn8qP'></bdo><ul id='Fn8qP'></ul>
                • <legend id='Fn8qP'><style id='Fn8qP'><dir id='Fn8qP'><q id='Fn8qP'></q></dir></style></legend>
                  本文介绍了MySQL:根据查询结果设置用户变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  是否可以根据 MySQL 中的查询结果设置用户变量?

                  Is it possible to set an user variable based on the result of a query in MySQL?

                  我想要实现的是这样的(我们可以假设 USERGROUP 都是唯一的):

                  What I want to achieve is something like this (we can assume that both USER and GROUP are unique):

                  set @user = 123456;
                  set @group = select GROUP from USER where User = @user;
                  select * from USER where GROUP = @group;
                  

                  请注意,我知道这是可能的,但我不希望使用嵌套查询来做到这一点.

                  Please note that I know it's possible but I do not wish to do this with nested queries.

                  推荐答案

                  可以,但是需要将变量赋值移到查询中:

                  Yes, but you need to move the variable assignment into the query:

                  SET @user := 123456;
                  SELECT @group := `group` FROM user WHERE user = @user;
                  SELECT * FROM user WHERE `group` = @group;
                  

                  测试用例:

                  CREATE TABLE user (`user` int, `group` int);
                  INSERT INTO user VALUES (123456, 5);
                  INSERT INTO user VALUES (111111, 5);
                  

                  结果:

                  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)
                  

                  请注意,对于 SET=:= 都可以用作赋值运算符.但是在其他语句中,赋值运算符必须是 := 而不是 = 因为 = 在非 SET 语句中被视为比较运算符.

                  Note that for SET, either = or := can be used as the assignment operator. However inside other statements, the assignment operator must be := and not = because = is treated as a comparison operator in non-SET statements.

                  更新:

                  除了下面的评论,您还可以执行以下操作:

                  Further to comments below, you may also do the following:

                  SET @user := 123456;
                  SELECT `group` FROM user LIMIT 1 INTO @group; 
                  SELECT * FROM user WHERE `group` = @group;
                  

                  这篇关于MySQL:根据查询结果设置用户变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:获取直方图数据 下一篇:我应该如何准确存储纬度和经度?

                  相关文章

                    <i id='NCK6f'><tr id='NCK6f'><dt id='NCK6f'><q id='NCK6f'><span id='NCK6f'><b id='NCK6f'><form id='NCK6f'><ins id='NCK6f'></ins><ul id='NCK6f'></ul><sub id='NCK6f'></sub></form><legend id='NCK6f'></legend><bdo id='NCK6f'><pre id='NCK6f'><center id='NCK6f'></center></pre></bdo></b><th id='NCK6f'></th></span></q></dt></tr></i><div id='NCK6f'><tfoot id='NCK6f'></tfoot><dl id='NCK6f'><fieldset id='NCK6f'></fieldset></dl></div>
                  1. <small id='NCK6f'></small><noframes id='NCK6f'>

                  2. <legend id='NCK6f'><style id='NCK6f'><dir id='NCK6f'><q id='NCK6f'></q></dir></style></legend>

                        <bdo id='NCK6f'></bdo><ul id='NCK6f'></ul>
                      <tfoot id='NCK6f'></tfoot>