SQL表的自动累加列问题!

feixianzhi 2005-11-20 05:44:22
在建表的时候建立了一个字段 ROWID 这个字段的值设定为标识 ;也就是自动累加1的!用了一段时间后把表里的数据清空后再次插入数据,这个rowid不是从1开始了!请问怎么使这个rowid再次从1开始累加!在不删除表的情况下!
PS:我觉得这个rowid的值应该存储在系统表里,哪位达人知道存放在哪个表的什么位置呀?谢谢了!
...全文
266 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rfq 2005-11-21
  • 打赏
  • 举报
回复
dbcc checkident
superunusa 2005-11-21
  • 打赏
  • 举报
回复


其实你删除数据就应该用truncate table来做,那样估计应该没有问题。

feixianzhi 2005-11-21
  • 打赏
  • 举报
回复
这个值一定是保存在系统表里的 不然不会删除所有行还是不能重新从1开始累加的!
望知道的达人一定要帮我!!!
谢谢!
winehero 2005-11-20
  • 打赏
  • 举报
回复
如楼上所说使用DBCC CHECKIDENT 就可重置自增列,至于你说的ID号是否
有保存及保存在什么地方,这个还真不知道,帮你顶。。。
zlp321002 2005-11-20
  • 打赏
  • 举报
回复
--测试

Create table #(ROWID int identity(1,1),value int)
insert into # select 1
union all select 2
union all select 3
union all select 4

delete # where ROWID=3

DBCC CHECKIDENT (#, RESEED, 0)--就是重新从1开始

insert into # select 5
insert into # select 6
insert into # select 7

select * from # order by value

--结果

ROWID value
----------- -----------
1 1
2 2
4 4
1 5
2 6
3 7

(所影响的行数为 6 行)
zlp321002 2005-11-20
  • 打赏
  • 举报
回复
DBCC CHECKIDENT (表名, RESEED, 0)--就是重新从1开始

--该语句的意思是,不管前面的顺序如何,以后执行语句,均从1开始累加的!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧