Saltar al contenido

¿Mysql tiene un equivalente a @@ ROWCOUNT como en mssql?

Solución:

Para SELECTs puede usar el FOUND_ROWS construir (documentado aquí):

SELECT SQL_CALC_FOUND_ROWS something FROM your_table WHERE whatever;
SELECT FOUND_ROWS( ) ;

que devolverá el número de filas en el último SELECT consulta (o si la primera consulta tiene una LIMIT cláusula, devuelve el número de filas que habría habido sin la LIMIT).

Para UPDATE/DELETE/INSERT, es la construcción ROW_COUNT

INSERT INTO your_table VALUES (1,2,3);
SELECT ROW_COUNT();

que devolverá el número de filas afectadas.

mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name

    -> WHERE id > 100 LIMIT 10;

mysql> SELECT FOUND_ROWS();

Leer más sobre esto aquí

La forma más sencilla sería utilizar una variable:

mysql> SELECT @rowcount:=COUNT(*) FROM my_table;
mysql> SELECT @rowcount;

O puedes usar FOUND_ROWS() construir después de poner un SQL_CALC_FOUND_ROWS en una instrucción SELECT.

mysql> SELECT SQL_CALC_FOUND_ROWS * FROM my_table;
mysql> SELECT FOUND_ROWS();
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *