上图说明: 首先,第1行我们使用set @num=0;声明了一个用户变量,也就是你们在其它编程语言中常说的声明并初始化了一个变量,只不过不同编程语言的语法不同而已,你习惯了就好。记住,用户变量在当前窗口中的任何一个地方都可以使用。 接着,我们写了一个sql语句,在select后面我们写了@num=@num+1这样一句话,这句话表示的是等于的意思。当select每取出一行数据的时候,这里就会判断一次@num是否等于@num+1,很明显不等于呀!因此,每取出一条数据,显示的都是0(在mysql中false显示的是0)。
上图说明: 首先,第1行我们仍然是使用set @num=0;声明了一个用户变量。 接着,我们写了一个sql语句,在select后面我们写了@num:=@num+1这样一句话,这句话表示的是赋值的意思。当select取出第一行数据的时候,就会将@num+1赋值给左边的@num,由于@num原始值等于0,因此“:=”左边的@num变为了1。当select取出第二行数据的时候,又会将@num+1赋值给左边的@num,由于此时@num等于1,经过赋值以后,“:=”左边的@num就变为了2,这样依次进行下去。