关于自动增长的字段的问题
目前我有个表,表名是:public_id
字段名称 类型
id int (标识为“是”,标识种子为“1”,标识递增量为“1”)
name nvarchar
原先在这样一个表中有1万行数据,后来我手动删除了(用delete from public_id where id>5000)这样一部分数据,这样在id字段的最后一个数据是“5000”,然后通过程序直接往里面添加数据(因为id字段设定的是自动增长类型,所以添加的时候只添加name字段的数据),但是添加后发现id字段的数据竟然是直接从10000开始增长,也就是说直接跳过了5001到10000,请问各位高手,我如何才能知道在手动删除数据之后能够使字段接着增长,是不是自动增长的数据会保存在什么地方,我不知道所以没删除干净(这里要说明的是在其它所有的用户表里面都没有相关的纪录储存下来,应该只能是sql server2000的记录问题了),怎么样才能够删除干净?
问题点数:20、回复次数:4Top
1 楼wgsasd311(自强不息)回复于 2006-03-08 11:41:43 得分 10
delete from tb where id>5000
dbcc checkident(tb,reseed,5000)
Top
2 楼skyboy0720(曲终人散)回复于 2006-03-08 11:47:01 得分 5
CREATE TABLE TB_TEST
(
ID INT IDENTITY(1,1),
NAME CHAR(1)
)
GO
INSERT TB_TEST SELECT 'A'
UNION ALL SELECT 'B'
UNION ALL SELECT 'C'
GO
DELETE FROM TB_TEST WHERE ID>=2
DBCC CHECKIDENT(TB_TEST,RESEED,1)
GO
INSERT TB_TEST SELECT 'D'
GO
SELECT * FROM TB_TEST
GO
DROP TABLE TB_TEST
GOTop
3 楼scmail81(琳·风の狼(修罗))回复于 2006-03-08 11:47:22 得分 5
修复标识
DBCC CHECKIDENT (表名, RESEED, 1) --1就是重新从1开始 检查指定表的当前标识值,如有必要,还对标识值进行更正。Top
4 楼meiyaojun(疯狂学习中……)回复于 2006-03-08 13:21:22 得分 0
学习...Top




