MySQL自定义变量
此blog中MySQL版本为:5.7.21
mysql使用@来定义自定义变量。
1、把常量赋值给自定义变量
SELECT @num:=1 AS num;
2、把函数赋值给自定义变量
SELECT @DATE:=NOW();
3、把查询结果赋值给自定义变量。注意:查询结果只能返回一个结果,返回多个会报错:[Err] 1242 - Subquery returns more than 1 row
SELECT @id:= (SELECT id FROM table WHERE id =100);
4、自定义变量可以运算
SELECT @num:=@num+1 AS num FROM (SELECT @num:=0) t ;
5、可以使用表达式的地方使用自定义变量
SELECT ... WHERE col <= @num;
MySQL自定义变量的属性和限制
- 使用自定义变量的查询,无法使用查询缓存
- 不能再使用常量或者标识符的地方使用自定义变