SELECT u.rownum
FROM (
SELECT o.rownum
FROM (
SELECT t.id, @rownum := @rownum + 1 AS rownum
FROM (
SELECT id
FROM tableName
ORDER BY id ASC
) t, (
SELECT @rownum := 0
) r
) o
WHERE o.id != o.rownum
AND o.id IS NOT NULL
UNION
SELECT MAX(id) + 1 AS rownum
FROM tableName
UNION
SELECT 1 AS rownum
) u
WHERE u.rownum IS NOT NULL
LIMIT 1;
mysql自增序列的主键查询下一个可用值(包括可用的间隙值)
于 2023-11-24 16:55:49 首次发布