2011-05-16 34 views
24

Actualmente, tenemos una tabla similar a la siguiente:¿CÓMO CARGAR DATOS INFILE en mysql con la primera col siendo Auto Increment?

--------------------- 
ID | AField | BField| 
--------------------- 

El ID es Incremento automático

¿Cómo se crea un archivo CSV que se puede dejar que la base de datos de auto completar el campo ID con el incremento automático?

Hemos probado el siguiente CSV pero no funciona:

afieldvalue, bfieldvalue (With Column definition but still doesn't work) 
0,afieldvalue,bfieldvalue 
NULL,afieldvalue,bfieldvalue 

Respuesta

38

Lo mejor que se puede hacer es simplemente incluir las 2 columnas sin incremento automático en el archivo CSV, y luego establecer explícitamente la columna de ID en NULL en la instrucción load load infile.

Algo como esto:

LOAD DATA INFILE '/tmp/data.csv' 
INTO TABLE your_table 
FIELDS TERMINATED BY ',' 
(AField, BField) 
SET ID = NULL; 
+1

Use '(your_table.AField, your_table.BField)' en lugar si su CSV tiene los mismos nombres de columna. – raspi

1

Trate de usar NULL como el valor en el archivo CSV para el campo ID.

0

NULL en el archivo CSV se lee como una cadena en MySQL. Si desea tener valores nulos en una columna MySQL, use \N en lugar de `NULL. Esto solucionará el problema y obtendrá el resultado requerido.

1

LOAD DATA INFILE '/tmp/data.csv' en la tabla your_table FIELDS TERMINATED POR '' líneas que terminan BY '\ r' (lejos, BField);

+0

Hola amigo, encuentra la buena sintaxis. Lo pruebo y corro bien –

0

Si usted tiene sólo un pequeño número de columnas, que sólo puede nombrarlos: LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE mytable (AField); (suponiendo Sólo ID & lejos)

2

puede "omitir" campo ID en la fila de datos mediante la colocación de signo delimitador en el comienzo de una fila, como (para el esquema de la tabla ID,AField,BField):

,afieldvalue,bfieldvalue 
... 

al leer dicho archivo csv, guión será asignar NULL-ID campo

0
LINES TERMINATED BY '\r\n' 

Esa fue la clave del éxito para mí cuando se utiliza un archivo de texto

Cuestiones relacionadas