FOUND_ROWS de MySQL devuelve 0

Introducción

Estuve haciendo algunas pruebas con MySQL y la función FOUND_ROWS. Tuve algunos inconvenientes porque a veces sale la sorpresa de que FOUND_ROWS de MySQL devuelve 0 o 1 filas, o resultados inesperados. Vamos a ver cómo solucionarlo.

Solución al error de que FOUND_ROWS de MySQL devuelve 0 filas

Reiniciar servicio

Suena como la solución de todos los informáticos pero es la verdad. Hay que reiniciar el demonio de MySQL. Si estamos en Windows vamos a Servicios, buscamos mysql, doble click; en la ventana que se abre hacemos click en Detener, esperamos, y luego hacemos click en Iniciar.

En Linux Ubuntu y tal vez algunos derivados me parece que es con el comando:

sudo service mysql restart

Con eso debería ser suficiente. Si sigue sin solucionarse hay que seguir leyendo…

Índices

No sé por qué pero debe haber una razón muy buena, y es que FOUND_ROWS devolverá 1 en caso de que nuestra tabla tenga un índice y se esté usando dicho índice al hacer la consulta.

Posible alternativa

Como sabemos, FOUND_ROWS cuenta las filas que habría si no limitásemos con LIMIT. Lo que podemos hacer es hacer la consulta por separado implementando un COUNT(*). Tal vez no es lo mejor en cuanto a rendimiento pero es una solución que funciona perfectamente.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario