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

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