是否可以在删除的地方使用最后一个 ID mysql?

is it possible to using last id where it's deleted mysql?

所以我对这个问题有同样的问题Auto Increment after delete in MySQL

根据该答案,并考虑到该答案提供的每个条件,我必须说我必须在 mysql.

上删除后执行自动递增

我有 table 让我们说

table : product
fields : id, name

因此,如果我的 ID 为 16、17、18,然后我删除了 ID 16,然后创建了新 ID,我想让新 ID 位于“16”而不是 19。根据该答案

Take a step back and ask "why you need to recycle key values?" Do unsigned INT (or BIGINT) not provide a large enough key space?

我必须说是的,字段可能无法提供足够大的键 space

我该怎么办

注意:table 上的 ID 是唯一的,没有连接到任何其他 table,我只是想避免如果 ID 不能再次提供足够大的密钥 space

如何实现?

说实话,这是achieveable.Insert记录每次删除时对应的id值放入一个有序队列中,从队列中取最小值作为要插入的id(如果队列为空, 使用数据库生成的id).

值得做吗?

我假设您的主键是 id,它是 mysql 中的聚集索引。所以这种方式可能会造成更多的页面拆分,从而降低插入性能。
并且需要保证有序队列中的id在插入失败的同一time.If只能被一个插入线程消费,需要re-enqueueid.If的大小有序队列太大,排序操作也会降低性能。
终于不能靠id来分析了。例如。 id最大的记录为最新记录