MySQL自动递增被删除的跳过数

SUN*_*SUN 1 mysql

我想从 mySQL 自动增量生成帐单编号。我有列 ID(主键和自动增量)。现在,根据用户的要求,我将从该列 ID 生成帐单编号。问题是,如果我删除中间的一些记录,那么当输入新记录时,它不应该跳过已删除的 ID。

例如1001,1002,1003,1004等在这里,如果我删除记录ID 1002,下次如果我输入任何新记录,那么我如何将1002分配回新记录。

Dav*_*vid 5

输入新记录时不应跳过已删除的 ID

是的,应该的。你只是依赖系统来做一些它从未被设计为做的事情,也从未声称要做的事情。

AUTOINCREMENT并非旨在生成您的“帐单号”。它旨在生成不断递增的标识符,并通过从不重复使用值来保证唯一性。它正是这样做的。

您可以使用您喜欢的任何逻辑手动生成“帐单号”并将其存储在另一列中。不过,重复使用值会很奇怪。想象一下,如果您向某人发出一张账单,稍后删除该记录,然后向具有相同号码的其他人发出另一张账单。

标识符的唯一性很重要。