我的表格中包含自动增量 ID
- 列,因为它的主键,但我遇到了&# 39;问题'每当删除key
时,就会产生间隙。这当然不是问题,但它看起来不是很整洁。是否有一种简单的方法可以让MySQL使用第一个未使用的ID
- 号码,而不是使用' 下一步' sequence
中的号码?我希望我的问题有道理。
答案 0 :(得分:4)
你想要实现的目标,恕我直言,并不是一个好主意。考虑到这一点;还有其他Table
可能与您刚刚删除的primary key
相关联。
假设您在与已删除 primary key
相关联的其他表上有现有值:
当您插入从间隙中取出primary key
的新条目时,您将拥有与其他表关联的值。你不会想要的。除非当然,如果您在删除主键时清除表格的所有,那就是很多工作。 Delete Cascade
可能不够用。
答案 1 :(得分:1)
没有自动增量。如果你真的想要,你可以改变你的INSERT来专门插入id,并将它设置为类似1+(select max(id) from your_table_name)
的东西,尽管如果表中没有行使用它时你可能想稍微修改它以表现正常。如果这样做,请确保它是一个插入查询的所有部分,而不是选择后跟插入。
但你为什么担心“整洁”?如果您想显示带有连续数字的内容,请以其他方式执行此操作,并且不显示ID。