Foros del Web » Programando para Internet » PHP »

Insertar datos grandes de 100 en 100

Estas en el tema de Insertar datos grandes de 100 en 100 en el foro de PHP en Foros del Web. Hola a todos, estoy ingresando datos de una tabla a otra, la tabla origen puede contener hasta 100,000 filas (actualmente tiene 90,000), y quisiera hacerlo ...
  #1 (permalink)  
Antiguo 21/07/2015, 10:42
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 2 meses
Puntos: 3
Insertar datos grandes de 100 en 100

Hola a todos, estoy ingresando datos de una tabla a otra, la tabla origen puede contener hasta 100,000 filas (actualmente tiene 90,000), y quisiera hacerlo de 100 en 100 para evitar el tipo de error "gone away" o de memoria, los datos lo hago con consultas INSERT INTO..SELECT, pero eso me lo hace de un golpe, y quiero hacerlo con LIMIT 0,100, el caso es que no me llega en mente como hacer que cuando llegue a los 100 registros continúe con los siguientes 100 hasta terminar de registrar todos los datos, como lo hago en PHP? Sólo un ejemplo básico y de ahí partiré.

Saludos. XDD
  #2 (permalink)  
Antiguo 21/07/2015, 10:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insertar datos grandes de 100 en 100

Sólo podrías hacerlo por stored procedure. Una consulta SQL no puede ser iterativa, por lo que sin usar un tipo de rutina almacenada, solo podrías resolverlo en forma programática, enviando N veces la query, con un rango de LIMIT incrementado.
¿Cual es el inconveniente de hacerlo masivo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 21/07/2015, 11:08
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Insertar datos grandes de 100 en 100

Pues el problema que el servidor donde se encuentra no puedo hacer stored procedures, no tenemos accesos administrativos para realizar esas operaciones.
  #4 (permalink)  
Antiguo 21/07/2015, 11:10
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Insertar datos grandes de 100 en 100

Y si lo haces con un for que vaya de 100 en 100?

Código PHP:
Ver original
  1. <?php
  2.        //Cambias el 100000 por la cantidad de registros que tengas.
  3.     for ($i=0;$i<=100000;$i+=100)
  4.     {
  5.         $sql = "SELECT * FROM Tabla LIMIT ".$i.", 100";
  6.         //Aqui colocas el resto del codigo
  7.         //P ej puedes hacer fetch array y cargas todos los resultados en un array
  8.         //Y luego insertas en la otra tabla el array completo
  9.     }
  10. ?>
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:19.