set @rownum=0; select @rownum:[email protected]+1 as rownum,* from table1
:=和=的区别?
- "=",只有在set和update时才和:=一样,赋值的作用,其它都是等于的作用。鉴于此,用变量实现行号时,必须用:=
- ":=",不只在set和update时时赋值的作用,在select也是赋值的作用。
如果明白了=和:=的区别,那么也就理解了下边的现象。
@num:[email protected]+1,:=是赋值的作用,所以,先执行@num+1,然后再赋值给@num,所以能正确实现行号的作用。
@[email protected]+1,此时=是等于的作用,@num不等于@num+1,所以始终返回0,如果改为@[email protected],始终返回1了。mysql数据库中,用1表示真,0表示假。
原文地址:https://www.cnblogs.com/llljpf/p/8940059.html
时间: 2024-10-27 10:20:41