SQL ID 重置
11/21/2010 5:54:25 PM
delete tb where id>100
DBCC CHECKIDENT ('tb', RESEED, 1)
DBCC CHECKIDENT ('tb', RESEED)
--其结果将 tb 表的自增种子设置为当前表里标识列的最大值
--再次增加数据就会继续那个数字了
--实测
--建立测试环境
IF OBJECT_ID('tb') IS NOT NULL DROP TABLE tb
GO
CREATE TABLE tb
(
id int identity,
code varchar(10),
CONSTRAINT PK_TB PRIMARY KEY (id)
)
GO
--插入测试数据
declare @i int
set @i=1
while @i<10
begin
INSERT TB SELECT 'A'+ltrim(@i)
set @i=@i+1
end
--查询
select * from tb
--结果
/*
id code
----------- ----------
1 A1
2 A2
3 A3
4 A4
5 A5
6 A6
7 A7
8 A8
9 A9
(9 行受影响)
*/
--1 删掉 一部分
delete tb where id>5
DBCC CHECKIDENT ('tb', RESEED, 1)
DBCC CHECKIDENT ('tb', RESEED)
/*
检查标识信息: 当前标识值 '9',当前列值 '1'。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
检查标识信息: 当前标识值 '1',当前列值 '5'。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
*/