MYSQL发现phpmyadmin中的行不工作
我在phpmyadmin中执行以下MySQL查询。found_rows()函数未返回任何结果MYSQL发现phpmyadmin中的行不工作,mysql,phpmyadmin,Mysql,Phpmyadmin,我在phpmyadmin中执行以下MySQL查询。found_rows()函数未返回任何结果 SELECT SQL_CALC_FOUND_ROWS `name` , `ability` FROM `magic` WHERE `name` LIKE 'Black%' GROUP BY `name` ORDER BY `name` LIMIT 0 , 10; SELECT FOUND_ROWS(); 我尝试过一个接一个地分别运行Select查询,但得到了意想不到的结果。仅第一个
SELECT SQL_CALC_FOUND_ROWS `name` , `ability`
FROM `magic`
WHERE `name` LIKE 'Black%'
GROUP BY `name`
ORDER BY `name`
LIMIT 0 , 10;
SELECT FOUND_ROWS();
我尝试过一个接一个地分别运行Select查询,但得到了意想不到的结果。仅第一个查询就返回13个结果,这是正确的总数。之后运行find_rows()查询时,返回20
我如何才能找到正确的报告
谢谢,
SkipBulk在PHPMyAdmin中,您不能 PHPMyAdmin使用
FOUND_ROWS()
本身告诉您在上一次查询中找到了多少行,并对其本身进行解析以告诉您“x results FOUND”
每次执行一个简单的选择,PHPMyAdmin都会添加一个限制并执行此选择,然后执行已找到的行,告诉您在没有限制的情况下会找到多少结果。这也是PHPMyAdmin提供分页(默认为30个元素)的方式
另外,您不能两次调用FOUND_ROWS()
:第二次调用它时,它将引用第一次调用它。由于第一次返回1行,因此得到1作为结果
还要注意:默认情况下,在PHPMyAdmin中输入的每个查询都会打开到MySQL的新连接,执行查询并关闭连接。您的下一个查询将不知道第一个查询,除非您将它们全部放在输入文本区域中,并用分号分隔
如果要使用find_ROWS(),请使用另一个mysql客户端。mysql
命令行很好:
mysql> SELECT SQL_CALC_FOUND_ROWS TABLE_NAME FROM `information_schema`.tables WHERE TABLE_NAME LIKE "COL%" LIMIT 3;
+---------------------------------------+
| TABLE_NAME |
+---------------------------------------+
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS |
+---------------------------------------+
3 rows in set (0.01 sec)
mysql> SELECT FOUND_ROWS( );
+---------------+
| FOUND_ROWS( ) |
+---------------+
| 5 |
+---------------+
1 row in set (0.00 sec)