62

我尝试了以下 -

我在命令提示符下创建了一个变量,如下所示 -

mysql> set @myId = 1;
Query OK, 0 rows affected (0.00 sec)

然后,为了显示它,我尝试了以下但没有成功 -

    mysql> show myId;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'myId' at line 1
    mysql> show @myId;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '@myId' at line 1
    mysql> PRINT @myId;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'PRINT @myId' at line 1
    mysql> PRINT myId;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'PRINT myId' at line 1

那么如何显示 的值@myId

4

3 回答 3

93

只需SELECT像这样的变量:

SELECT @myId;

这是关于用户定义变量的 MySQL 文档:

http://dev.mysql.com/doc/refman/5.5/en/user-variables.html

于 2013-09-16T22:53:48.337 回答
7

如果您正在寻找像 OP 一样设置自己的变量,那么@MikeBrant 的答案是正确的:

SELECT @myId;

但是如果你想查看 MySQL 系统变量(这是我来这里寻找的),那么你需要运行:

show variables like '%slow%';

或者可能:

show global variables like '%slow%';
于 2018-10-17T13:33:21.220 回答
2

SHOW GLOBAL STATUS LIKE '%com_stmt%'; 可用于使用通配符确定任何 SHOW GLOBAL STATUS 当前值。

同样, SELECT @@thread_cache_size; 可用于显示任何特定的 SHOW GLOBAL VARIABLES 当前值。

有超过 300 个 GLOBAL STATUS 值。

有 400 多个带值或不带值的全局变量。(可能是空的占位符)。

您不能在 MySQL 中创建全局变量。

于 2018-10-18T18:27:25.273 回答