如何限制SHOW TABLES查询

时间:2012-07-24 17:01:22

标签: php mysql pagination information-schema

我有以下查询:

SHOW TABLES LIKE '$prefix%'

它完全符合我的要求,但我需要对结果进行分页。我试过了:

SHOW TABLES LIKE '$prefix%' ORDER BY Comment ASC LIMIT 0, 6

我需要它返回具有特定前缀的所有表并按其注释排序。我希望通过LIMIT分页,每页6个结果。

我显然做错了什么。如何实现这一目标?

编辑:我确实看过this。它对我不起作用。

2 个答案:

答案 0 :(得分:12)

以上不能通过MySQL语法直接完成。 MySQL不支持某些LIMIT语句的SHOW子句。这是其中之一。 MySQL Reference Doc.

如果您的MySQL用户可以访问INFORMATION_SCHEMA数据库,则以下内容将起作用。

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'DATABASE_TO SEARCH_HERE' AND TABLE_NAME LIKE "table_here%"  LIMIT 0,5;

答案 1 :(得分:1)

只需通过标准查询选择,而不是使用SHOW TABLES。例如

select table_name from information_schema.tables

然后你可以使用ASC和LIMIT之类的东西......