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

Problemas con LOAD DATA INFILE!

Estas en el tema de Problemas con LOAD DATA INFILE! en el foro de Mysql en Foros del Web. Hola! Verán, cargo un archivo csv a mi base de datos con LOAD DATA LOCAL INFILE Todo esta bien con mi consulta Cita: LOAD DATA ...
  #1 (permalink)  
Antiguo 24/07/2013, 12:04
 
Fecha de Ingreso: febrero-2013
Mensajes: 43
Antigüedad: 11 años, 2 meses
Puntos: 0
Busqueda Problemas con LOAD DATA INFILE!

Hola! Verán, cargo un archivo csv a mi base de datos con LOAD DATA LOCAL INFILE
Todo esta bien con mi consulta

Cita:
LOAD DATA LOCAL INFILE '$direccion' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '$comilla' LINES TERMINATED BY '\\n' (campo1, campo2, campo3, campo4) set campo5=null
Bien, lo importante aquí es que esta consulta no me guarda TODOS los registros del archivo csv, no guarda aquellos registros que van después de las comillas. Por ejemplo:
Tengo estos datos en el csv:

66,"Fulanito, De Tal",-0- ,"Director, Escuela primaria."
137,"Líbano","vessel",-0-
150,"ALOARDI, Carlo Giovanni", -0- ,-0-

Esta consulta así como la tengo me guardaría el registro 66 y el registro 50. Pero el registro 137 no, porque el registro 66 termina en comillas :S

Traté de hacerlo con la consulta así

Cita:
LOAD DATA LOCAL INFILE '$direccion' INTO TABLE table1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n' (campo1, campo2, campo3, campo4) set campo5=null
Ésta vez, si me guarda todos los registros, pero tiene conflictos por las ',' que hay entre los campos con comillas.
Por ejemplo:
Si me tiene que guardar así:

150,"ALOARDI, Carlo Giovanni", -0- ,-0-

Me guarda, así:

150,"ALOARDI, Carlo Giovanni",-0-

Ya que está tomando la ',' que está después de ALOARDI como que si fueran ALOARDI y Carlo Giovanni dos campos diferentes, pero son el mismo campo!

Entonces, cómo puedo solucionar este problema?! Alguien sabe? me urge!!

Gracias!
  #2 (permalink)  
Antiguo 25/07/2013, 02:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Problemas con LOAD DATA INFILE!

Manual

Cita:
ENCLOSED BY '"'
puedes usar esta forma

Cita:
LINES TERMINATED BY '\n'
te sobra una \ barra (\\n precisamente esta quitando el significado a la segunda barra que es la que deberia cmabiar el significado de la n) es decir le estas diciendo que las lineas teminan con \n literal no \n salto de linea.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 25/07/2013 a las 02:15

Etiquetas: mysql+consulta
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 05:18.