nam*_*nam 5 t-sql sql-server dbcc sql-server-2012
在 SQL Server 2012 中,以下查询myTable_id
从 2 而不是 1为标识列做种。为什么?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
Run Code Online (Sandbox Code Playgroud)
备注:
DBCC CHECKIDENT(myTable, RESEED,0)
正确使用标识列从 1 开始。myTable_id
列的SSMS 快照:小智 5
这里的答案并没有什么不好,但混乱来自于微软的方法本身。
我觉得:
DBCC CHECKIDENT(myTable, RESEED, 0)
Run Code Online (Sandbox Code Playgroud)
到处都应该有相同的行为:
否则,我们需要在运行之前检查表状态。
归档时间: |
|
查看次数: |
10149 次 |
最近记录: |