标识值重复的原因示例

--1. 强制插入标识值导致标识值重复。
CREATE TABLE #(id int IDENTITY,b int)
INSERT # SELECT 1

--插入重复的标识值
SET IDENTITY_INSERT # ON
INSERT #(id,b) SELECT 1,2
SELECT * FROM #
DROP TABLE #
/*--结果
id           b
----------------- -----------
1           1
1           2
--*/
GO



/*===================================================*/



--2. 使用DBCC CHECKIDENT重置标识值导致标识值重复的情况。
CREATE TABLE #(id int IDENTITY,b int)
INSERT # SELECT 1

--重置标识值
DBCC CHECKIDENT(#,RESEED,0)
INSERT # SELECT 2
SELECT * FROM #
DROP TABLE #
/*--结果
id           b
----------------- -----------
1           1
1           2

你可能感兴趣的:(数据库)