Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2011, 19:21
Bier
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Anidar UPDATE dentro de un SELECT (PHP/MySQL)

Requiero recorrer las filas de una tabla, en cada fila leída debo realizar un cálculo, el cual debo almacenar en una segunda tabla.

Trataré de explicarme:

Tengo esta consulta y trabaja perfecto:
Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT llave, importe FROM tabla1", $link) or die ("Error");
  2.            while ($fila = mysql_fetch_row($consulta)) {
  3.            $llave= $fila[0];
  4.            $total = $fila[1] * 2 ;
  5. }

Por cada fila leída, debo almacenar su resultado en una segunda tabla con un INSERT, algo así:
Código PHP:
Ver original
  1. $consulta = "INSERT INTO tabla2 (total) VALUES ('$total ')";
  2. $resultado = mysql_query($consulta) or die ("Error");


¿Como puedo hacer las dos funciones anteriores de manera simultánea?
Deseo leer una fila de la tabla1 y grabar a la tabla2, así hasta recorrer todas las filas de la tabla1

Imaginé hacer algo así: (Anidando código)
Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT llave, importe FROM tabla1", $link) or die ("Error");
  2.            while ($fila = mysql_fetch_row($consulta)) {
  3.            $llave= $fila[0];
  4.            $total = $fila[1] * 2 ;
  5.  
  6.      $consulta = "INSERT INTO tabla2 (total) VALUES ('$total ')";
  7.      $resultado = mysql_query($consulta) or die ("Error");
  8. }

Disculpen la pregunta, pero no he encontrado una solución por más búsquedas que he realizado.

Gracias anticipadas.