Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2013, 12:04
Jesueto
 
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!