如何在mysql中加载数据INFILE,第一个col是自动增量?

Duc*_*tal 36 mysql sql

目前,我们有一个类似于这样的表:

---------------------
ID | AField | BField|
---------------------
Run Code Online (Sandbox Code Playgroud)

ID为自动增量

如何创建可以让数据库使用自动增量编号自动填充ID字段的CSV?

我们尝试过以下CSV但不起作用:

afieldvalue, bfieldvalue (With Column definition but still doesn't work)
0,afieldvalue,bfieldvalue 
NULL,afieldvalue,bfieldvalue
Run Code Online (Sandbox Code Playgroud)

Ike*_*ker 52

最好的做法是在CSV中包含2个非自动增量列,然后在加载数据infile语句中将ID列显式设置为NULL.

像这样的东西:

LOAD DATA INFILE '/tmp/data.csv'
INTO TABLE your_table
FIELDS TERMINATED BY ','
(AField, BField)
SET ID = NULL;
Run Code Online (Sandbox Code Playgroud)


Ale*_*lin 5

您可以通过在行的开头放置分隔符来"省略"数据行中的ID字段,例如(对于表的模式ID,AField,BField):

,afieldvalue,bfieldvalue
...
Run Code Online (Sandbox Code Playgroud)

SQL引擎将在读取此类csv文件时分配NULLID字段