使用未使用的主键

时间:2012-10-19 04:53:17

标签: mysql indexing key

  

可能重复:
  How to reuse auto_increment values?

我的表格中包含自动增量 ID - 列,因为它的主键,但我遇到了&# 39;问题'每当删除key时,就会产生间隙。这当然不是问题,但它看起来不是很整洁。是否有一种简单的方法可以让MySQL使用第一个未使用的ID - 号码,而不是使用' 下一步' sequence中的号码?我希望我的问题有道理。

2 个答案:

答案 0 :(得分:4)

你想要实现的目标,恕我直言,并不是一个好主意。考虑到这一点;还有其他Table可能与您刚刚删除的primary key相关联。

假设您在与已删除 primary key相关联的其他表上有现有值: 当您插入从间隙中取出primary key的新条目时,您将拥有与其他表关联的。你不会想要的。除非当然,如果您在删除主键时清除表格的所有,那就是很多工作。 Delete Cascade可能不够用。

答案 1 :(得分:1)

没有自动增量。如果你真的想要,你可以改变你的INSERT来专门插入id,并将它设置为类似1+(select max(id) from your_table_name)的东西,尽管如果表中没有行使用它时你可能想稍微修改它以表现正常。如果这样做,请确保它是一个插入查询的所有部分,而不是选择后跟插入。

但你为什么担心“整洁”?如果您想显示带有连续数字的内容,请以其他方式执行此操作,并且不显示ID。