【问题标题】:Use 'show query' as a subquery to count the rows in MySQL 4.1使用“显示查询”作为子查询来计算 MySQL 4.1 中的行数
【发布时间】:2017-01-24 10:00:26
【问题描述】:

我安装了 MySQL 4.1 服务器版本。我想在 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() 的函数。但是这个函数在我做的任何“显示查询”上都会返回 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 查询获取计数。

【问题讨论】:

  • 为什么它被标记为sql-server?你在寻找同样的 sql server 吗?
  • 对不起,这是我第一次在 stackoverflow 中发布问题,并且 sql-server 标记是作为建议出现的。所以我无意中选择了它。我正在寻找 MySQL4.1 的答案(准确地说)。

标签: mysql4


【解决方案1】:

您可以使用信息架构

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

【讨论】:

  • 感谢您的回复,但我已经提到我使用的是 MySQL 4.1,并且该版本的 MySQL 服务器中尚未引入 information_schema 数据库。所以,我期待围绕 inofration_schema 进行工作。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
  • 2021-11-16
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多