我正在尝试将 csv 文件导入到 mysql 中的表中。该表具有以下字段:
(id
、提交 ID
、用户 ID
、提交日期和时间
、名字
、姓氏
、电子邮件
、参与者总部/代理机构
)
但是 csv 文件包含除 id
之外的所有字段。 id
字段是主要
和自动增量
。我尝试使用变量来“绕过”导入第一个字段,所以我的代码是这样的:
LOAD DATA INFILE 'C:\\Users\\user1\\Desktop\\imports\\tf\\output_csv.csv' INTO TABLE form_tf (@id, `Submission ID`, `User ID`, `Submission Date and Time`, `First Name`, `Last Name`, `Email`, `Participant's HQ / Agency`)
FIELDS TERMINATED BY ','
IGNORE 1 ROWS;
但它没有插入提交 ID
,因此所有字段都会向左移动 1。
最佳答案
尝试将id
(主键 - 自动增量)设置为null
,如下所示:
LOAD DATA INFILE 'C:\\Users\\user1\\Desktop\\imports\\tf\\output_csv.csv' INTO TABLE form_tf
FIELDS TERMINATED BY ','
IGNORE 1 ROWS
(`Submission ID`, `User ID`, `Submission Date and Time`, `First Name`, `Last Name`, `Email`, `Participant's HQ / Agency`)
set id = NULL;
关于MySQL:LOAD DATA INFILE csv 忽略主字段插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57800541/