MySQL – Número de registros afectados en una consulta

En ocasiones necesitamos saber cúantos registros de nuestra base de datos han sido afectados en una consulta. Empecemos con el artículo MySQL – Número de registros afectados en una consulta.

Sabemos que tenemos 1233 usuarios habilitados y menores de 18 años en la base de datos a los que debemos deshabilitar. La consulta, la sabemos. Pero nunca podemos descartar que haciendo la consulta puedan haber algún imprevisto en el que no sepamos si finalmente se ha realizado todo correctamente.

Entonces actuaríamos de la siguiente manera:

Paso 1: Hacemos copia de seguridad de la base de datos

Paso 2: Ejecutamos dos sentencia mMySQL

Veamos la sentencia Update que realiza la tarea que tenemos::

mysql_query("UPDATE usuarios SET habilitado=0 WHERE edad < 18");

La segunda sentencia es la que nos devolverá el número de registros afectados por la última sentencia SQL ejecutada:

printf ("Usuarios deshabilitados: %d\n", mysql_affected_rows());

Como podéis ver, lo hacemos con la función PHP mysql_affected_rows().

Paso 3: Comprobamos si el número de de registros afectados coincide con el que esperamos

Paso 4: En el caso de no coincidir

Recuperamos copia de seguridad o ejectuamos la sentencia contraria (atentos porque deberíamos volver a comprobar que se hace correctamente.

En definitiva, siempre que hagamos consultas que afecten a muchos registros, debemos controlar que los registros afectados sean los que aproximadamente nos esperemos.

Espero que os haya sido de utilidad el artículo MySQL – Número de registros afectados en una consulta.


Más información