我有一个tinyint列,它是自动增量的。 我怎样才能将其设置为从0而不是1开始。 我使用:DBCC CHECKIDENT('MyTable',RESEED,0) 但是当我插入一条记录时,它从 1 开始。
最佳答案
如果该表自创建以来从未包含任何行,或者如果您使用截断删除了所有行,则您将获得 0 作为下一个标识值,否则您将获得种子值+1。
此处描述:http://msdn.microsoft.com/en-us/library/ms176057%28v=sql.90%29.aspx
这会将下一个身份设置为 0
truncate table MyTable
DBCC CHECKIDENT ('MyTable', RESEED, 0)
如果将数据类型从tinyint更改为smallint,您可以重新设定种子为-1,并且在下次插入时将得到0。
DBCC CHECKIDENT ('MyTable', RESEED, -1)
关于sql-server-2005 - 重新播种一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258558/