用户定义的变量将存储在mysql 8.0.16中的什么地方?

时间:2019-06-05 13:25:25

标签: mysql database

假设我在mysql中定义了两个变量,如下所示:

SET @STUDENT_NAME = 'ABCD';
SET @STUDENT_AGE = 25;

现在,当我使用以下命令选择这两个变量值时:

SELECT @STUDENT_NAME, @STUDENT_AGE;

即使我切换数据库,它也能完美显示相应的值。

但是当我重新启动mysql并尝试选择这些值时,它显示的是这些变量的空值,那么当我设置了值时,它将实际存储在哪里?

1 个答案:

答案 0 :(得分:1)

根据手册(重点为我):

https://dev.mysql.com/doc/refman/8.0/en/user-variables.html

用户定义的变量特定于会话。一个客户端定义的用户变量无法被其他客户端看到或使用。 (例外:有权访问性能模式user_variables_by_thread表的用户可以查看所有会话的所有用户变量。)当给定的客户端会话退出时,该客户端会话的所有变量将自动释放。