赋值
mysql> select @var:=1000;
+------------+
| @var:=1000 |
+------------+
| 1000 |
+------------+
1 row in set (0.00 sec)
使用
mysql> select @var;
+------+
| @var |
+------+
| 1000 |
+------+
1 row in set (0.00 sec)
在不同的sql中可以生效
select * from tbl_test where log_no=@var;
能检索到内容
但是同一个select中定义的变量,不能在where中生效。
select @var:='2',log_No from tbl_test where log_no=@var;
不能检索到内容。
如何处理呢?
select * from tbl_test,(select @var2:='1') as a where log_no=@var2;
发变量作为一个临时表,使它先生效。