我在本地系统上运行了以下查询
SELECT FOUND_ROWS() FROM table_name LIMIT 1;
SQL Version : 5.6.16
它返回行数。
当在服务器(SQL 版本:5.7.17)上运行相同的查询时,它返回 0。
网上搜索后建议使用
SQL_CALC_FOUND_ROWS
所以我也在本地和服务器上使用了以下查询。
SELECT SQL_CALC_FOUND_ROWS * FROM users
SELECT FOUND_ROWS();
但结果是一样的,它在本地(SQL 版本:5.8.16)上运行良好,在服务器(SQL 版本:5.7.17)上返回 0。
最佳答案
这是一个可能导致此问题的 mysql 错误,具体取决于您使用的版本:
http://bugs.mysql.com/bug.php?id=1468
您可以通过在查询中使用 GROUP BY 子句来解决此问题。就我而言,它运作良好。
关于mysql - 为什么 FOUND_ROWS() 对于 5.7.17 SQL 版本返回错误结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49422008/