我正面临我的一个项目的问题。我有一个库存上传,它将数据从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文档
我已从表中删除了删除查询。但是自动注释仍然不同步
非常感谢任何帮助
感谢
尼西
答案 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