您可以使用LEFT JOIN查找MySQL表中的最小未使用值。让我们先创建一个表
create table FindValue -> ( -> SequenceNumber int -> );
使用insert命令在表中插入一些记录。查询如下-
insert into FindValue values(109); insert into FindValue values(110); insert into FindValue values(111); insert into FindValue values(113); insert into FindValue values(114);
使用select语句显示表中的所有记录。查询如下-
select *from FindValue;
以下是输出
+----------------+ | SequenceNumber | +----------------+ | 109 | | 110 | | 111 | | 113 | | 114 | +----------------+ 5 rows in set (0.00 sec)
这是在MySQL表中查找最小未使用值的查询
select tbl1 .SequenceNumber+1 AS ValueNotUsedInSequenceNumber -> from FindValue AS tbl1 -> left join FindValue AS tbl2 ON tbl1.SequenceNumber+1 = tbl2.SequenceNumber -> WHERE tbl2.SequenceNumber IS NULL -> ORDER BY tbl1.SequenceNumber LIMIT 1;
以下是输出
+------------------------------+ | ValueNotUsedInSequenceNumber | +------------------------------+ | 112 | +------------------------------+ 1 row in set (0.00 sec)