mysql - mysql 8.0.16 中用户定义的变量会存储在哪里?
问题描述
假设我在mysql中定义了两个变量如下:
SET @STUDENT_NAME = 'ABCD';
SET @STUDENT_AGE = 25;
现在,当我使用以下方法选择这两个变量值时:
SELECT @STUDENT_NAME, @STUDENT_AGE;
即使我切换了数据库,它也完美地显示了相应的值。
但是当我重新启动mysql并尝试选择这些值时,它显示了这些变量的空值,那么当我设置值时它实际上会存储在哪里?
解决方案
根据手册(强调我的):
https://dev.mysql.com/doc/refman/8.0/en/user-variables.html
用户定义的变量是特定于会话的。一个客户端定义的用户变量不能被其他客户端看到或使用。(例外:有权访问性能模式 user_variables_by_thread 表的用户可以查看所有会话的所有用户变量。)给定客户端会话的所有变量都会在该客户端退出时自动释放。
推荐阅读
- django - 如何为在 Django 中输入正确的文件路径(远程或本地服务器)提供验证检查?
- android - 如何在 TextView 中获取 JSON 值?
- regex - 如何使用正则表达式捕获多行文件中的最后一组?
- kubernetes - 在不使用 k8s 服务的情况下,将一个集群中的 Pod 连接到另一个集群中的 pod
- sql-server - 在 SELECT 中更改 ADD tempDB?
- c# - 如何使用 C# 将数据放入以下 JSON 格式?
- express - 如何在 ExpressJS 中将服务中的业务逻辑编写为 sinon
- python-3.x - 从 Dataframe 中取出一列并将所有其他列标准化?
- javascript - 如何在javascript中存储常量值
- javascript - 无法在本地使用使用 webpack 创建的包