[sql server] 重置自增

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 输出了错误信息,请与系统管理员联系。
*/

--插入测试数据
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           A1
7           A2
8           A3
9           A4
10          A5
11          A6
12          A7
13          A8
14          A9

(14 行受影响)
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值