Skip to content

Latest commit

 

History

History
29 lines (18 loc) · 1.01 KB

using-user-defined-variables.md

File metadata and controls

29 lines (18 loc) · 1.01 KB

4.6.5 Using User-Defined Variables

您可以使用MySQL用户变量记住结果,而不必将其存储在客户端中的临时变量中。 (见第10.4节“用户自定义变量”。)

例如,要找到最高和最低价格的文章,您可以这样做:

mysql>SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
mysql>SELECT * FROM shop WHERE price=@min_price OR price=@max_price;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|    0003 | D      |  1.25 |
|    0004 | D      | 19.95 |
+---------+--------+-------+

注意

还可以将数据库对象(例如表或列)的名称存储在用户变量中,然后在SQL语句中使用此变量;然而,这需要使用准备好的语句。有关详细信息,请参见第14.5节“准备的SQL语句语法”。


===来自评论区===

请记住,如果使用用户变量,则在服务器上使用查询缓存选项时,查询将不被缓存,因此答案可能会比我们预期的慢。