自动获得连续序号中断掉的序号 ( 积分: 30 )

  • 主题发起人 主题发起人 lilbdping
  • 开始时间 开始时间
L

lilbdping

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个表中一个字段:ID,是int类型<br>现在该列的值为:2,4,6,8<br>应该怎么样去获得连续序号中断掉的那些值,也就是:1,3,5,7
 
我觉得获得不获得是没意义的吧&nbsp;反正在数据库中唯一就可以了&nbsp;如果想更漂亮的话&nbsp;就做个流水号吧&nbsp;&nbsp;如:&quot;REC-1&quot;,&nbsp;&quot;REC-2&quot;,&nbsp;&quot;REC-3&quot;&nbsp;等.&nbsp;当新增一条记录时,让这个字段的数字部分自动加1(下一条记录应为REC-4)
 
select&nbsp;id&nbsp;<br>from&nbsp;<br> (select&nbsp;id&nbsp;+&nbsp;1&nbsp;id&nbsp;from&nbsp;t<br> union&nbsp;<br> select&nbsp;1)a&nbsp;<br>where&nbsp;<br>not&nbsp;exists(select&nbsp;*&nbsp;from&nbsp;t&nbsp;where&nbsp;id=a.id)<br>and&nbsp;id&nbsp;&lt;&nbsp;(select&nbsp;max(id)&nbsp;from&nbsp;t)
 
接受答案了.
 
后退
顶部