我有一个tinyint列,它是自动增量。 如何将其设置为从0而不是1开始。 我使用:DBCC CHECKIDENT('MyTable',RESEED,0) 但是当我插入记录时,它从1开始。
答案 0 :(得分:3)
如果表创建后从未包含任何行,或者如果使用truncate删除所有行,则将获得0作为下一个标识值,否则将获得seedvalue + 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)
答案 1 :(得分:1)
您需要Truncate the table删除所有数据,然后必须确保您具有以下列定义:
Create Table YourTable
(
YourColumn TinyInt Identity(0,1)
...
...
)
然后运行DBCC CHECKIDENT ('MyTable', RESEED, 0)
您插入的下一行的值为0