snippetsqlMinor
How to select status variables into temp variables in mysql
Viewed 0 times
intotempstatusmysqlvariableshowselect
Problem
I have selected global variables into temporary local variables like below.
But when i am trying to do the same for status variables like below , i am getting error.
I know we can select status variables into temp variables using information_schema tables like below.
But I want to know if there is any way to select server status variables into temp variables without using information_schema tables.
Thanks in advance.
mysql> select @@long_query_time into @a;
Query OK, 1 row affected (0.00 sec)
mysql> select @a;
+------+
| @a |
+------+
| 1 |
+------+
1 row in set (0.00 sec)But when i am trying to do the same for status variables like below , i am getting error.
mysql> select @@qcache_hits;
ERROR 1193 (HY000): Unknown system variable 'qcache_hits'I know we can select status variables into temp variables using information_schema tables like below.
SELECT @a := variable_value from information_schema.global_status where variable_name='com_select';But I want to know if there is any way to select server status variables into temp variables without using information_schema tables.
Thanks in advance.
Solution
You can use information_schema's table for that purpose:
mysql> select VARIABLE_VALUE into @qcache_hits FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME="qcache_hits";
Query OK, 1 row affected (0.00 sec)
mysql> select @qcache_hits;
+--------------+
| @qcache_hits |
+--------------+
| 0 |
+--------------+
1 row in set (0.00 sec)Code Snippets
mysql> select VARIABLE_VALUE into @qcache_hits FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME="qcache_hits";
Query OK, 1 row affected (0.00 sec)
mysql> select @qcache_hits;
+--------------+
| @qcache_hits |
+--------------+
| 0 |
+--------------+
1 row in set (0.00 sec)Context
StackExchange Database Administrators Q#140094, answer score: 3
Revisions (0)
No revisions yet.