使用'显示查询'作为子查询来计算MySQL 4.1中的行

时间:2016-09-16 08:31:39

标签: mysql4

我安装了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

根据我的理解和我对网络的研究,我认为“显示查询'不能用作子查询。

我遇到了名为FOUND_ROWS()的函数。但是这个函数在任何' show query'中返回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查询进行计数。

1 个答案:

答案 0 :(得分:0)

您可以使用信息架构

SELECT table_name FROM INFORMATION_SCHEMA.TABLES
 WHERE table_schema = 'db_name'
 [AND table_name LIKE 'urtable']