首页 新闻 会员 周边

sql表主键自增不是从最大值开始

0
悬赏园豆:20 [已关闭问题]

sql server2005

还原数据库后

表的主键字段自增不是从最大值开始,

例ID:1,2,5,6,8,99

正常insert应该是100

但是insert 现在是3

博友们有遇到过吗?

kaa77的主页 kaa77 | 初学一级 | 园豆:60
提问于:2010-03-19 13:26
< >
分享
其他回答(4)
0

不太清楚

5D开心博客 | 园豆:205 (菜鸟二级) | 2010-03-19 13:51
0

貌似和日志文件有关。还原之前添加的时候是根据日志文件的最大ID来加的。

还原数据库只还原数据,但不会还原日志,还原了就没日志了……。

齐.net | 园豆:1421 (小虾三级) | 2010-03-19 14:11
如果你插入了,再删除应该就不会有这情况了。
支持(0) 反对(0) 齐.net | 园豆:1421 (小虾三级) | 2010-03-19 14:13
你说很对。是没有日志的原因。 1.数据库记录1,2,3,4,5 2.再次插入数据 1,2,3,4,5,6 3.然后删除记录, 1,2 4.再插入数据就会按顺序 1,2,7,8,9,10 5.收缩日志,插往数据 1,2,7,8,9,10,11,12 这个情况和想不一样,本以为,收缩了日志后产生,刚还原数据时情况 1,2,3,4,7,8,9,10 谢谢你的指导 。
支持(0) 反对(0) kaa77 | 园豆:60 (初学一级) | 2010-03-25 16:05
0

如果这个不是正常现象的话,恭喜你中奖了,好多人想这么处理还要专门写代码,你自己就给实现了。

清海扬波 | 园豆:825 (小虾三级) | 2010-03-19 16:59
0

你将创建表的语句导出来看看,是否有 identity(1,1)的字样?

你可以自行修改为你需要的最大值如Identity(100,1), 表示自100开始增长。

邀月 | 园豆:25475 (高人七级) | 2010-03-20 08:41
0

看来还是不要随便物理删除数据或是直接用guid好了

风海迷沙 | 园豆:4453 (老鸟四级) | 2010-03-20 10:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册