sql >> Base de Datos >  >> RDS >> Mysql

MySQL – Función FOUND_ROWS() para el número total de filas afectadas

En SQL Server, para obtener el número total de filas afectadas por la última declaración, puede usar la variable de sistema @@ROWCOUNT. De manera similar, en MySQL puede encontrarlo usando la función FOUND_ROWS ().

Permítanos crear este conjunto de datos

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();


Lo anterior devolverá dos conjuntos de resultados. El segundo conjunto de resultados será 5 (número de filas para la instrucción SELECT).

También puede usar SQL_CALC_FOUND_ROWS junto con FOUND_ROWS () para obtener el número total de filas en una tabla. Cuando se usa SQL_CALC_FOUND_ROWS, FOUND_ROWS() omitirá la cláusula LIMIT.

SELECT * FROM TEST LIMIT 2;

Lo anterior devolverá solo 2 filas.

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


Cuando ejecuta lo anterior, devuelve dos conjuntos de resultados. El primer conjunto de resultados devolverá dos filas. El segundo conjunto de resultados devolverá 5 (número total de filas sin cláusula LIMIT).

Creo que esta es una función realmente interesante y podemos usarla en aplicaciones diarias. Deje un comentario si está utilizando una aplicación en la que necesita saber cuántas filas se vieron afectadas con el comentario anterior.