Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Inserts masivos no funciona

Estas en el tema de Inserts masivos no funciona en el foro de Mysql en Foros del Web. Buenas tardes. Tengo un archivo csv con unas 50.000 entradas de 6 columnas cada una. Lo estoy intentando leer con PHP y hacer inserts en ...
  #1 (permalink)  
Antiguo 25/03/2011, 11:07
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Inserts masivos no funciona

Buenas tardes.
Tengo un archivo csv con unas 50.000 entradas de 6 columnas cada una.
Lo estoy intentando leer con PHP y hacer inserts en una tabla, pero no hay forma de que me lo haga.

El tema es que si cojo un solo INSERT si que me lo hace, pero si cojo varios no.

Alguna idea??

El codigo:
Código PHP:
$row 1;
$fp fopen ("dades.csv","r");
while (
$data fgetcsv ($fp1000";"))
{
$num count ($data);
print 
" <br>";
$row++;
//echo "$row.". $data[0]." ------ ".$data[1]." ------ ".$data[2]."-----".$data[3]." ------ ".$data[4]." ------ ".$data[5];
$insertar="INSERT INTO prova_mapa (cp,poblacio,comunitat,provincia,logn,lat) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]')";
mysql_query($insertar);
}
fclose ($fp);
?> 
  #2 (permalink)  
Antiguo 25/03/2011, 13:21
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, 5 meses
Puntos: 2658
Respuesta: Inserts masivos no funciona

Y cómo estás tratando de hacer varios al mismo tiempo?
__________________
¿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 25/03/2011, 13:44
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Respuesta: Inserts masivos no funciona

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Y cómo estás tratando de hacer varios al mismo tiempo?
Me he expresado mal
Me refiero que si los invoca el whilen me da error, pero si copio uno y lo hago desde el Mysql del server me funciona bien, sin errores

Gracias por el interés
  #4 (permalink)  
Antiguo 25/03/2011, 16:20
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, 5 meses
Puntos: 2658
Respuesta: Inserts masivos no funciona

Basicamente la pregunta sigue siendo la misma, pero ya queda más claro.
¿Creas los INSERT de a uno en un while y allí mismo los ejecutas?

La segunda pregunta sería: ¿Qué error te devuelve MySQL en ese caso? ...suponiendo que estás capturando los errores...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 26/03/2011, 03:44
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Respuesta: Inserts masivos no funciona

La primera
Si
En el código lo veras ( primer post) creo los inserts de a uno y después los ejecuto con el mismo while

La segunda es No
No capturo los errores, no se como se hace, si me lo puedes indicar lo hago y te digo

Gracias de nuevo
  #6 (permalink)  
Antiguo 26/03/2011, 03:53
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Respuesta: Inserts masivos no funciona

UFFFFFFFFFFFFFFFFFFFFFF

Lo siento
Mil disculpas

grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr

Ya esta solucionado, error mio del todo, siento haber molestado.

Explico:
tengo el servidor de prueva (en local) y el bueno, resulta que ejecutaba el Script en local y comprovaba el resultado en el bueno, claro, nunca subia los datos

Grrrrrrrrrrrr, de nuevo pido disculpas

Un saludo

Etiquetas: masivos
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 13:18.