Muuchisimas gracias, no saben lo que me va a ayudar este código para hacer cambios en mi base de datos!
Ya lo probé en la tabla de los usuarios y me actualizó las nuevas columnas en un abrir y cerrar de ojos con el código aleatorio.
¿Debería ponerla un indice UNIQUE a la columna?
Les dejo el código final que usé:
Código PHP:
<?php
//Recogemos el tiempo inicial para calcular el tiempo de ejecución del script
$tiempo_inicio = microtime(true);
//Incluímos los datos de conexión a la base de datos
include("data.php");
//Nos conectamos a la base de datos
$conexion = mysql_connect($servidormysql,$usuariomysql,$passmysql);
if (!$conexion) {
die('Error de conexión a la base de datos');
}
mysql_select_db($basededatos, $conexion);
mysql_query ("SET NAMES 'utf8'");
//Consultamos
$query = mysql_query("SELECT id_usuario FROM usuarios WHERE tag_p IS NULL",$conexion) or die(mysql_error());
$total = mysql_num_rows($query);
$n = 0;
//Empieza el bucle a actualizar las filas
while($row = mysql_fetch_assoc($query)) {
$codigo = substr(md5(uniqid(rand())),0,16); //Generamos el código aleatorio
if(!mysql_query("UPDATE usuarios SET tag_p = '".$codigo."' WHERE id_usuario = '".$row['id_usuario']."'",$conexion)) {
die(mysql_error());
} else {
$n ++;
}
}
//Esto solo es para informar de las filas afectadas y el tiempo de ejecución final del script
if ($n === $total) {
echo $total.' filas actualizadas en '.round(microtime(true)-$tiempo_inicio,4).' segundos.';
}
?>