具有多个加载数据infile的自动递增值设置为“18446744073709551615”

时间:2013-08-13 06:50:28

标签: mysql innodb auto-increment

我正面临我的一个项目的问题。我有一个库存上传,它将数据从csv导入到innodb表。这里发生的是使用多个加载数据命令(我想)自动增量值get设置为18446744073709551615并且不允许其他插入工作。之前工作正常。我不确定表中的大量数据是否会产生此问题。

该表的详情如下

软件版本:5.5.31-0ubuntu0.12.04.1-log - (Ubuntu)

使用的最大插入ID:17455787099

表格中的行数:23887371

对此实现的一些变量如下

自动增量增量1 自动增量偏移量1 自动提交ON 自动sp权限ON innodb autoextend增量8 innodb autoinc lock mode 1 sql auto为null OFF文档

我已从表中删除了删除查询。但是自动注释仍然不同步

非常感谢任何帮助

感谢

尼西

1 个答案:

答案 0 :(得分:1)

  

自动增量值get设置为18446744073709551615最大   使用的插入ID:17455787099

这有点令人困惑。

尝试在加载新文件之前重置自动增量值:

ALTER TABLE tableName AUTO_INCREMENT = 1

修改

创建一个新的相同表:

CREATE TABLE tableName LIKE oldtableName;

将所有行复制到新表中,切记不要选择auto_incrementing id。

INSERT INTO tableName (field2, field3, field4)
SELECT field2, field3, field4 FROM oldtableName ORDER BY oldtableName.id;
DROP oldtableName;
RENAME tableName oldtableName;

这需要一段时间(小时......或更多)。

<强> EDIT2

如果您的id列未被任何内容引用

ALTER TABLE tableName DROP id

ALTER TABLE tableName ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id), AUTO_INCREMENT=1