LINK:https://dev.mysql.com/doc/refman/5.7/en/user-variables.html
我正在阅读mysql文档,我对这个一般规则感到很困惑!
文档:
作为一般规则,除了SET语句之外,您不应该为用户变量赋值并在同一语句中读取值。
好的,这是否意味着我可以使用SET语句来分配和读取用户变量?对?但是当我尝试它时......
SET @a:=1, @b:=@a+1;
SELECT @a,@b; # @a = 1, @b = NULL
看起来SET语句在同一语句中具有与分配和读取用户变量的任何其他语句相同的问题。
SET @a:=1;
SET @b:=@a+1;
SELECT @a,@b; # @a=1 , @b=2
那么,我在这里错过了什么?
答案 0 :(得分:1)
我认为文档完全错误。如您所示,SET
和SELECT
在这方面没有任何区别。