2010-06-11 98 views
16

He creado una base de datos y una tabla. También he creado todos los campos que necesitaré. He creado 46 campos, incluido uno que es mi ID para la fila. El CSV no contiene el campo ID, ni contiene los encabezados para las columnas. Soy nuevo en todo esto, pero he estado tratando de resolver esto. No estoy aquí siendo flojo pidiendo la respuesta, pero buscando direcciones.Importar CSV a MySQL

Estoy tratando de averiguar cómo importar el CSV pero que comience a importar datos comenzando en el segundo campo, ya que espero que el auto_increment llene el campo ID, que es el primer campo que creé.

Probé estas instrucciones sin suerte. ¿Alguien puede ofrecer alguna idea?

  1. Los nombres de las columnas del archivo CSV deben coincidir con los de la tabla
  2. Examinar para su requerido .csv
  3. Seleccione CSV opciones de datos se utiliza la carga
  4. Marcar la casilla 'ON' para Reemplazar tabla datos con el archivo de
  5. En campos terminado por caja, tipo ,
  6. En F ields encerrada por caja, "
  7. En campos escapado por caja, \
  8. En Líneas terminadas por caja, auto
  9. En Los nombres de columna caja, tipo nombre de la columna separados por , como column1,column2,column3
  10. Casilla de verificación activada para Utilice la palabra clave LOCAL.

Editar:

El archivo CSV es 32.4kb

La primera fila de mi CSV es:

Test Advertiser,23906032166,119938,287898,,585639051,287898 - Engager - 300x250,88793551,Running,295046551,301624551,2/1/2010,8/2/2010,Active,,Guaranteed,Publisher test,Maintainer test,example-site.com,,All,All,,Interest: Dental; custom geo zones: City,300x250,-,CPM,$37.49 ,"4,415","3,246",3,0,$165.52 ,$121.69 ,"2,895",805,0,0,$30.18 ,$37.49 ,0,$0.00 ,IMPRESSIONBASED,NA,USD 
+0

¿Has probado a utilizar PHPMyAdmin? –

+2

@Kerry: Él está enumerando las instrucciones de phpMyAdmin, entonces yo diría que sí. –

+0

Gracias por la respuesta, las instrucciones que publiqué son las que utilicé en phpMyAdmin pero mi información se descarta. Leí en alguna parte que la mejor manera de hacerlo es hacer que los encabezados de las columnas en la CSV reflejen los campos de mi tabla. ¿es esto correcto? – 404error

Respuesta

41

Puede tener valores establecidos de MySQL para ciertas columnas durante la importación. Si su campo id está configurado para incrementarse automáticamente, puede establecerlo como nulo durante la importación y MySQL le asignará valores incrementales.Trate de poner algo como esto en la pestaña SQL en phpMyAdmin:

LOAD DATA INFILE 'path/to/file.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' SET id=null; 
16

favor, mire esta página y ver si tiene lo que eres buscando. Debería ser todo lo que necesita ya que se trata de una sola mesa. MYSQL LOAD DATA INFILE

Así, por ejemplo, puede hacer algo como esto:

LOAD DATA INFILE 'filepath' INTO TABLE 'tablename' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column2, column3, column4); 

que debe darle una idea. Por supuesto, hay más opciones que se pueden agregar como se ve en el enlace de arriba.

+0

Gracias voy a probar esto y ver si puedo resolverlo. Muy apreciado. – 404error

4

asegúrese de usar LOAD DATA INFILE LOCAL si el archivo de importación es local. :)

+0

No si el archivo ya es local. El uso de LOCAL puede presentar otros problemas, p. "ERROR 1148 (42000): el comando usado no está permitido con esta versión de MySQL", lo que no necesariamente significa incompabilidad de la versión MySQL [discusión sobre esto] (https://dev.mysql.com/doc/refman/5.0/en /loading-tables.html). El uso de LOCAL puede requerir la comprobación de configuraciones adicionales, p. en el lado del cliente y del servidor de la bandera: local-infile. Para mí, todavía no funcionó. – Katarzyna

Cuestiones relacionadas