MYSQL发现phpmyadmin中的行不工作

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查询,但得到了意想不到的结果。仅第一个

我在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查询,但得到了意想不到的结果。仅第一个查询就返回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)