美文网首页
MySQL中,如何将SELECT结果赋值给变量

MySQL中,如何将SELECT结果赋值给变量

作者: f68c8a455b56 | 来源:发表于2018-09-20 20:44 被阅读33次

正在努力MySQL学习中,一些细节的实现真的需要仔细钻研。

SELECT结果的赋值问题

今天研究了一下SELECT结果赋值给变量的问题,有两种方式:

SELECT @a := if(count(*) > 0, 0, 50)  FROM FirstReward WHERE UserID = 4 and HouseFlag> 0;
SELECT if(count(*) > 0, 0, 50) INTO @b FROM FirstReward WHERE UserID = 5 and HouseFlag> 0;
SELECT @a;
SELECT @b;
image.png image.png

:= 和 =

如上 := 和 INTO 两种方法效果一样,至于 := 是什么呢,就是赋值符号,跟 = 有什么区别?

SELECT @c = if(count(*) > 0, 0, 50)  FROM FirstReward WHERE UserID = 4 and HouseFlag> 0;
SELECT @c;
image.png

对比一下很容易发现, := 成功赋值, = 没有成功赋值。我们看看官方文档怎么说:

image.png

文档说的很清楚,只有在SET方法中,=等同于:=赋值,其他情况下都是用于逻辑判断。

SET @d = 5;
SELECT @d;
image.png

相关文章

网友评论

      本文标题:MySQL中,如何将SELECT结果赋值给变量

      本文链接:https://www.haomeiwen.com/subject/rstonftx.html