MySQL SELECT表达式的执行顺序是从左往右依次执行

  例子如下:(确保这几个变量都是初次使用,因为mysql的用户自定义变量会在整个连接session中存在)

select @a:=@b,@b:=1,@c=@a*2,@a:=3;

+--------+-------+---------+-------+
| @a:=@b | @b:=1 | @c=@a*2 | @a:=3 |
+--------+-------+---------+-------+
| NULL   |     1 |    NULL |     3 |
+--------+-------+---------+-------+
1 row in set (0.00 sec)

  最后的表达式给@a赋值为3,并不能影响前面的判断。

  所以SELECT列表中表达式的执行是按排列以此从左至右。

 

posted @ 2019-06-04 13:59  爆炸的果核  阅读(359)  评论(0编辑  收藏  举报