SELECT @no:=0
以上代码的作用是什么?
我在很长的查询中找到了它,看起来像这样:
SELECT t1.a, t2.a, ....... FROM table t1, (SELECT @no:=0) t2
有什么想法吗?
答案 0 :(得分:0)
在下面的查询中,@ no是MySQL的变量,使用:=0
为其分配值0
。
SELECT @no:=0
<强>解释强>
用户定义的变量(以@为前缀):
您可以访问任何用户定义的变量,而无需声明或初始化它。如果引用尚未初始化的变量,则其值为NULL且字符串类型为。
SELECT @var_any_var_name
您可以使用SET或SELECT语句初始化变量:
SET @start = 1, @finish = 10;
或
SELECT @start := 1, @finish := 10;
有关用户定义变量的更多信息,请访问以下链接:
答案 1 :(得分:0)
在
Select @no:=0
中,您定义了一个值为0的变量
CREATE TABLE Table1
(`a` int)
;
INSERT INTO Table1
(`a`)
VALUES
(1),
(2),
(3),
(4),
(5)
;
SELECT t1.a, @no FROM table1 t1,
(SELECT @no:=0) t2
<强>输出强>
a @no
1 0
2 0
3 0
4 0
5 0
演示