同意楼上各位的建议,再出一个主意,希望能对楼主有帮助!
首先是问题,如果是删除了中间的记录,比如说现在有1000条了,结果删除了第500条,这时实际记录只有999条,但还是需要从1001开始。不知道这种情况是否对楼主的程序逻辑有影响。同时,在并发情况下,第N条记录被删除,要保证出入N+1条没有重复,还是需要有一定的开发考虑。
如果上述有影响的话,建议是否可以保留自增长字段,但是再增加一个记录序号的字段,当然这个字段的增加就需要考虑并发了,可以有一个公共的服务来生成记录数,这是一个解决方法,不过也有问题,就是量大的话,可能会是瓶颈。
以上供楼主参考,希望能有帮助
笨方法:
添加之前,把种子字段改成非种子,
然后再改回来.
再添加记录应该就从N开始了.
DBCC CHECKIDENT |
是要对其当前标识值进行检查的表名。指定的表必须包含标识列。表名必须符合标识符规则。
指定不应更改当前标识值。
指定应该更改当前标识值。
用作标识列的当前值的新值。
取消显示所有信息性消息。
显式插入标识值
SET IDENTITY_INSERT T1 ON;
GO
INSERT INTO T1 (column_1,column_2)
VALUES (-99, 'Explicit identity value');
GO