MySQL 一个 @ 和两个 @ 的区别
strong><code>@</code(用户自定义变量)
一个 code>@</code 符号代表用户自定义变量(User-Defined Variables)。这种变量是用户在当前会话中手动创建的,它的生命周期只存在于当前 MySQL 连接会话中。当会话结束时,变量也会被释放
特点:
- 创建与赋值:可以使用
SET
或SELECT ... INTO
语句来赋值SET @var_name = value;
SELECT column INTO @var_name FROM table;
- 作用域:仅在当前连接会话中有效。一个用户设置的
@var_name
无法被其他用户连接访问 - 用途:常用于存储临时数据、在多条 SQL 语句中传递值,或者在存储过程、函数中作为临时变量