Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2009, 11:27
lokiloco5
 
Fecha de Ingreso: septiembre-2009
Mensajes: 10
Antigüedad: 14 años, 7 meses
Puntos: 0
archivo CSV problemas con importacion. Estoy desesperado

Buenas foreros, a ver si alguien le ha pasado esto o sabe como arreglarlo.

Mi problema es el siguiente: Necesito migrar una base de Filemaker a Mysql y para ello lo que hago es convertirlo a csv. Hasta ahi todo bien, uso ',' para separar los campor y' ;' para fin de linea (por alguna razon '\n' y '\r' NUNCA funciono) . Bueno, MySql carga el archivo a la tabla y ahi viene el problema... los datos los carga bien, pero ocurre un problema con los datos de la primera columna. Como ustedes bien saben, mysql despliega los datos por ejemplo asi:

+-------------+--------------+--------+-----------+
| Codigo | Producto | Precio | Cantidad |
+-------------+--------------+--------+-----------+
| 32567 | cepilloPelo |1240 | 200 |
| 34305 | detergente |2567 | 100 |
| 68678 | arroz |2500 | 500 |

.... .... .... ....

|55677 | frijoles |3000 | 400 |
+-------------+--------------+--------+-----------+

Pero cuando cargo los datos del csv a mi base pasa esto:

+-------------+--------------+--------+-----------+
| Codigo | Producto | Precio | Cantidad |
+-------------+--------------+--------+-----------+
| 32567 | cepilloPelo |1240 | 200 |
34305 | detergente |2567 | 100 |
68678 | arroz |2500 | 500 |

.... .... .... ....

55677 | frijoles |3000 | 400 |
+-------------+--------------+--------+-----------+

No se si se ve bien, pero la barra delimitadora | no aparece luego de la primer entrada. Las implicaciones de esto es que si hago por ejemplo un

SELECT codigo FROM table WHERE producto = 'frijoles';

me despliega bien los datos, pero si hago:

SELECT * FROM table WHERE codigo = '55677';

NO me funciona!. O sea, si busco usando como criterio los valores del primer campo no los reconoce. Alguien sabe como puedo solucionar esto para que la tabla si se cargue correctamente? Supongo que aqui hay gente con buena espuela en mysql y talvez sepan como puede solucionarse.

Una solucion, pero muy "chancha" que se me ocurrio es meter de primer campo en la tabla un campo vacio sin informacion para que ese sea el que no funcione y no afecte:

+----------+-------------+--------------+--------+-----------+
| VACIO | Codigo | Producto | Precio | Cantidad |
+----------+-------------+--------------+--------+-----------+
| | 32567 | cepilloPelo |1240 | 200 |
| 34305 | detergente |2567 | 100 |
| 68678 | arroz |2500 | 500 |

.... .... .... .... ....

| 55677 | frijoles |3000 | 400 |
+----------+-------------+--------------+--------+-----------+

Pero como dije eso esta muy "salir del paso" y quiero que quede bien.

Saludos