我正在尝试使用 LOAD DATA 命令将数据从 csv 文件加载到 MySQL 数据库中。
我的 csv 结构如下:
索引 | 姓名 | ... |
---|---|---|
0 | 废话 | |
1 | blahbla | |
... |
但是当尝试使用
读取我的数据时CREATE TABLE data (
id INT NOT NULL AUTO_INCREMENT,
KernelName VARCHAR(255) NOT NULL,
...,
primary key (id)
);
USE myDatabase;
LOAD DATA INFILE '/filepath/myFile.csv'
INTO TABLE myTable
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
我收到错误 ERROR 1062 (23000): Duplicate entry '1' for key 'myTable.PRIMARY'
我怀疑这是因为 AUTO_INCREMENT 正在创建一个 MySQL 表,其中 id 从 1 开始,而不是我正在阅读的 0。导致重复输入错误。
MySQL 新手,不关心索引是从 0 还是 1 开始,只是不确定最简单的修复方法是什么。我应该跳过索引行吗?将 auto_increment 更改为从 0 开始?
答案 0 :(得分:0)
我能够通过在初始 CREATE TABLE 命令中省略 AUTO_INCREMENT
来解决此问题。然后在导入数据后,我使用 ALTER TABLE table MODIFY id INTEGER NOT NULL AUTO_INCREMENT;
来恢复自动增量功能。
感谢所有在评论中对此提供帮助的人!