获取我的MySQL数据库表中未列出的第一个可用数字

任何SQL来获取
MySQL数据库表中未列出的第一个数字?

例如:

表:
用户

ID  | Name   | Number
------------------------
1   | John   | 1456
2   | Phil   | 345
3   | Jenny  | 345612

在这种情况下,SQL必须返回行列表,其中行号从1到344以及346到1455和1457到345611

有什么建议?也许有一些程序?

最佳答案 我喜欢@pst的答案,但会提出另一种选择.

>创建一个未分配数字的新表,在那里插入几千行左右.
>向用户展示其中一些数字.
>使用数字时,将其从未分配的数字表中删除.
>根据需要定期生成更多未分配的数字.

这些未分配的数字的生成可以使用@pst建议的随机方法,但是使用这种方法可以移动生成未分配数字列表到批处理任务所需的时间的不确定性,而不是必须在用户在等待时的前端.如果数字空间的使用稀疏,这可能不是问题,但随着更多的数字空间的使用,它成为一个更大的问题.

点赞