在 SQL Server 2012 中,以下查询从 2 而不是 1 为标识列设定种子myTable_id
。为什么?myTable_id
也是PK。
DELETE FROM myTable;
GO
SELECT * FROM myTable --0 rows are returned as expected
GO
DBCC CHECKIDENT(myTable, RESEED,1)
GO
INSERT INTO myTable(col1,col2,col3) SELECT FROM AnotherTable(col1,col2,col3)
GO
SELECT * FROM myTable --1005 rows are returned as expected, but identity value starts from 2
GO
备注:
- 插入的数据是对的,唯一的问题是新插入的数据是从2而不是1开始的。
- 在上面的 sql 代码中,如果我
DBCC CHECKIDENT(myTable, RESEED,0)
正确使用标识列从 1 开始。 - 以下是该
myTable_id
列在 SSMS 中的快照: