MySQL – FOUND_ROWS() 函数用于受影响的总行数

在 SQL Server 中要获取受最后一条语句影响的总行数,可以使用系统变量@@ROWCOUNT。同样,在 MySQL 中,您可以使用 FOUND_ROWS () 函数找到它。

让我们创建这个数据集

1
2
3
4
5
6
7
8
9
CREATE TABLE TEST(ID INT, NAME VARCHAR(30));
INSERT INTO TEST(ID,NAME)
SELECT 1,'NAME1' UNION ALL
SELECT 2,'NAME2' UNION ALL
SELECT 3,'NAME3' UNION ALL
SELECT 4,'NAME4' UNION ALL
SELECT 5,'NAME5';
SELECT * FROM TEST;
SELECT FOUND_ROWS();


以上将返回两个结果集。第二个结果集将是 5(SELECT 语句的行数)。

您还可以使用 SQL_CALC_FOUND_ROWS 和 FOUND_ROWS () 来获取表中的总行数。当使用 SQL_CALC_FOUND_ROWS 时,FOUND_ROWS() 将省略 LIMIT 子句。

1
SELECT * FROM TEST LIMIT 2;

以上将仅返回 2 行。

1
2
SELECT SQL_CALC_FOUND_ROWS * FROM TEST LIMIT 2;
SELECT FOUND_ROWS();


当您执行上述操作时,它会返回两个结果集。第一个结果集将返回两行。第二个结果集将返回 5(没有 LIMIT 子句的总行数)。

我认为这是一个非常有趣的功能,我们可以在日常应用中使用它。如果您使用的应用程序需要知道前一条评论影响了多少行,请留下评论。

猜你喜欢

转载自blog.csdn.net/allway2/article/details/126315461
今日推荐