SQL ID编号问题

我做了个留言板的表,主键ID设置成了自动编号,且不为空,删除留言后,新留言编号还是继续+1,有没有方法,让后面的留言编号补上被删的编号?... 我做了个留言板的表,主键ID设置成了自动编号,且不为空,删除留言后,新留言编号还是继续+1,有没有方法,让后面的留言编号补上被删的编号? 展开
 我来答
匿名用户
推荐于2016-09-17
展开全部
方法1:用SET IDENTITY_INSERT 设置

方法2:
create table #T(ID int identity,Name nvarchar(10))
if object_id('Tempdb..#') is not null
drop table #
Select Name into # from #T--排除重复记录结果集生成临时表#

truncate table #T--清空表

insert #T select * from # --把临时表#插入到表#T中
方法3:要用删除触发器实现.
create table tb_test(id int)
insert into tb_test(id)
select 1
union all select 2
union all select 3
union all select 4
union all select 5
union all select 6
union all select 7
union all select 8
union all select 9
union all select 10

create trigger td_tb_test on tb_test
for delete
as
update tb_test
set id=(select count(*) from tb_test t1 where t1.id<tb_test.id)+1
from tb_test

这都是我在下面这个知道上看的 你可以看看

参考资料: http://zhidao.baidu.com/question/95394790.html?fr=uc_push

blackscreen
2009-04-30 · TA获得超过459个赞
知道小有建树答主
回答量:522
采纳率:0%
帮助的人:660万
展开全部
自动编号就这样了,
如果想按你的需求,那就只能别用自动编号,手动去处理了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c53a071
2009-04-30 · TA获得超过697个赞
知道小有建树答主
回答量:2622
采纳率:0%
帮助的人:933万
展开全部
自动编号在同一张表里面只能被使用一次,而且不管是否成功.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式