SHOW TABLES和MYSQL_NUM_ROWS

时间:2013-01-24 03:26:14

标签: mysql sql mysql-num-rows

我刚刚注意到mysql_num_rows应返回SELECT或SHOW命令返回的行数,具体为SHOW TABLE命令返回0。

相反,它显示受影响的行数而不是num行。

任何人都可以告诉我这是一个错误还是我在这里遗漏了什么?

4 个答案:

答案 0 :(得分:3)

SHOW TABLE命令用于在数据库中显示表名。另一方面,mysql_num_rows用于计算从查询中获得的结果数量。此查询取决于您的需求基础......

答案 1 :(得分:1)

正如the PHP documentation page所述:

  

从结果集中检索行数。这个命令只是   对于返回实际结果的SELECT或SHOW等语句有效   集。

我的猜测是SHOW TABLES不是一个技术查询,它会生成mysql_num_rows枚举的结果集类型。

答案 2 :(得分:1)

这些“帮助”功能(例如SHOWEXPLAINDESCRIBE等)不会让您发布他们的结果一张普通的桌子。

但如果您正在寻找如何做到这一点,那么SHOW TABLES可以做到

SELECT `table_name` FROM `information_schema`.`tables`
WHERE `table_schema`=DATABASE()
-- DATABASE() selects current database name
-- you can use the name of any database as a string instead

所以基本上你可以使用information_schema数据库来获取这些信息。

答案 3 :(得分:0)

这是mysql中的一个错误,修复了更新。