=
只有在 set 和 update 时才是和 := 一样,赋值的作用,其它都是等于的作用。鉴于此,用变量实现行号时,必须用 :=
:=
不只在 set 和 update 时时赋值的作用,在 select 也是赋值的作用
案例
如果明白了=和:=的区别,那么也就理解了下边的现象。
@num:=@num+1,:=是赋值的作用,所以,先执行@num+1,然后再赋值给@num,所以能正确实现行号的作用。
@num=@num+1,此时=是等于的作用,@num不等于@num+1,所以始终返回0,如果改为@num=@num,始终返回 1 了。mysql数据库中,用1表示真,0表示假。