@变量名
@变量名 : 定义一个用户变量.
对该用户变量进行赋值.有两种方式: 一种是直接用"=“号,另一种是用”:=“号。
其区别在于:
使用set命令对用户变量进行赋值时,两种方式都可以使用;
用select语句时,只能用”:=“方式,因为select语句中,”="号被看作是比较操作符。
set:
- set @i=@i+1
- set @i:=@i+1
select:
- select @i:=@i+1
mysql的@用法
1,增加临时表,实现变量的自增
select (@i:=@i+1), a.*
from table_name as a, (select @i=0) as j
(@i:=@i+1)代表定义一个变量,每次叠加1;
(SELECT @i:=0) AS j 代表建立一个临时表,j是随便取的表名,但别名一定要有。
eg:
表名:table1
name | age |
---|---|
张三 | 23 |
李四 | 24 |
select @i:=@i+1 a.*
from table1 as a, (select @i=0) as j
@i:=@i+1 | name | age |
---|---|---|
1 | 张三 | 23 |
2 | 李四 | 24 |