Ver Mensaje Individual
  #14 (permalink)  
Antiguo 22/08/2012, 10:14
Avatar de Adrii952
Adrii952
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 116
Antigüedad: 12 años, 4 meses
Puntos: 7
Respuesta: Insertar código generado automaticamente en todas las filas de la BD

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.';
}
?>