AUTO_INCREMENT 索引重复条目

时间:2021-07-26 18:37:03

标签: mysql sql csv import

我正在尝试使用 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 开始?

1 个答案:

答案 0 :(得分:0)

更新

我能够通过在初始 CREATE TABLE 命令中省略 AUTO_INCREMENT 来解决此问题。然后在导入数据后,我使用 ALTER TABLE table MODIFY id INTEGER NOT NULL AUTO_INCREMENT; 来恢复自动增量功能。

感谢所有在评论中对此提供帮助的人!

相关问题