我安装了MySQL 4.1服务器版本。我想使用'show query'作为SELECT语句中的子查询。例如:
SELECT count(*) from (SHOW VARIABLES LIKE 'log_bin');
但是这会给我一个错误:
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 'SHOW VARIABLES LIKE 'log_bin')' at line 1
根据我的理解和我对web的研究,我认为"show queries"不能用作子查询。
我遇到了一个叫做FOUND_ROWS()的函数。但是这个函数在我做的任何"显示查询"上返回我1。例如:
show tables; select FOUND_ROWS();
给了我这个:
+----------------------+
| Tables_in_test |
+----------------------+
| test1 |
| test2 |
+----------------------+
2 rows in set (0.00 sec)
+--------------+
| FOUND_ROWS() |
+--------------+
| 1 |
+--------------+
1 row in set (0.00 sec)
由于我使用的是MySQL 4.1,所以还没有介绍information_schema数据库。还有别的办法可以解决我的问题吗?
条件:
- 我必须使用MySQL 4.1
- 应该使用MySQL查询获得计数
您可以使用信息模式
SELECT table_name FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'db_name'
[AND table_name LIKE 'urtable']