获取下一个未使用的ID?

Pri*_*rix 3 java mysql

目前我有一个不由我管理的数据库,我无法对其进行任何更改,id字段是一个smallint 2 unsigned,最多可以为65535个id条目.

我的问题是,由于上述限制,我需要重复使用ID,如何按顺序获取下一个可用的ID,或者如何管理具有上述限制的插入?

Ali*_*aru 8

检查是否1免费.如果不:

SELECT MIN(a.id) + 1 AS smallestAvailableId
FROM your_table AS a
LEFT JOIN your_table AS a2
        ON a2.id = a.id + 1
WHERE a2.id IS NULL
Run Code Online (Sandbox Code Playgroud)

  • 如果数据库是空的IFNULL(MIN(a.id)+ 1,1) (2认同)