2017-08-11 66 views
0

我见过的大多数帖子都是关于重置空表上的自动增量。 我有一个表格中的数据已经从它删除旧记录。在过去,我的搜索已经拿出了答案,如“让它不重要” 我想成为一个整洁的怪胎,并清理我的表。做这个的最好方式是什么?我应该把所有东西都移到一张新桌子上,然后截断旧桌子,然后把它全部移回去?自动增量值会随着它移动,还是它会在我移动数据时从1开始?重置自动增量与仍在表中的数据MYSQL

+0

至少在任何真实世界的场景,其中的数据都已经“活”在某些时候,这是不是一种“洁癖”,这宁愿成为一个危及他们数据完整性的笨蛋......一个ID只有一份工作和一份工作 - 唯一地识别记录。没有更多,不少。只要你开始申请_any其他标准(“但它看起来不太好......”),你做错了事情。 – CBroe

+0

这个特定的表格有添加和删除的项目。我把autoincrement设置为像int(10)这样疯狂的东西,所以我不会达到极限。重置ID不会影响数据的使用方式。 –

+0

_“重置ID不会影响数据的使用方式”_ - 也不会重置ID。 – CBroe

回答

1

只需设定自动递增值是这样的:

ALTER TABLE users AUTO_INCREMENT=1001; 
+0

这只是重置上次自动增量。我得到的记录从600开始,然后在删除部分的地方出现空白。我想清理它,所以它全部从1开始,并且没有间隙干净。 –

+0

好吧,我假设你错误地插入了一些数据并从最后删除了它。正如你所描述的,我会同意@CBroe的评论 – ReneS