我的数据库中有此列。假设其名称为“ threadid”。它包含赋予每个线程以区别的唯一ID。
线程号9 8 7 6 5 4 3 2 1
假设我已删除ID为5和6的线程。
线程号9 8 7 4 3 2 1
但是,当删除后有一个提交时,给该线程的唯一ID是10。不是5。我认为这不是整齐的。
如何获得列中的最小可能值?(在这种情况下,为5.)
我认为我可以使用MIN()获得列的最小值,并保持+1直到获得未使用的唯一值,但是我认为这太复杂了。
有没有简单的方法可以做到这一点?
谢谢。
我同意所有人的其他观点,实现自己的最小查找公开号码是一个非常糟糕的主意。但是在我工作的地方,给我们一个封闭的数字集,当释放一个数字时,我们必须重用。
这是我们的方法。
我们不会删除该行,而是将每列的所有值都设置为null,所以您要做的是在SELECT min(id)WHERE columnA IS NULL的情况下进行操作,如果返回值,则将重用,否则,插入一个新行。