日期:2014-05-19  浏览次数:20382 次

标识列问题
表ID列为IDENTITY   (1,1),
使用
Truncate   Table   表名
    --如果定义了IDENTITY   (1,1),ID号会从1开始。

delete   from   表名
    --下一条记录的标识ID为紧接delete之前的标识
--------------------------------------------
是否有sql语句可以使使用delete语句之后的ID标识恢复为1
        使用过DBCC   CHECKIDENT   (表名,   RESEED,   1)结果不行?



------解决方案--------------------
--創建測試環境
Create Table TEST(ID Int Identity(1, 1) ,Name Varchar(10))
GO
--插入數據
Insert TEST Select 'AA '
Union All Select 'BB '
Union All Select 'CC '

--刪除數據
Delete From TEST

--ID标识恢复为1
DBCC CHECKIDENT (TEST, RESEED, 0) --注意是0,不是1

--再次插入數據
Insert TEST Select 'DD '
Union All Select 'EE '

--查詢
Select * From TEST

--刪除測試環境
Drop Table TEST

--結果
/*
ID Name
1 DD
2 EE
*/