sql-server-2005 - 重新播种一列

标签 sql-server-2005 sql-server-2008

我有一个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/

相关文章:

sql - View 中可以有 OrderBy 吗?

sql-server - SQL Server 中运算符 != 和 <> 有什么区别?

sql-server-2005 - SQL Server 索引 - 创建后初始性能缓慢

sql - 无法执行存储过程以插入链接服务器上的表

sql - 数据库中已有一个名为 'tbltable1'的对象

asp.net - SQL Server 2005 网络 IO 等待时间(ASYNC_NETWORK_IO 等待类型)问题

c# - SQL 性能、.Net 优化与最佳实践

php - SQL Server 定期固定延迟

sql-server-2005 - 如何将图片存储在图像列中?

c# - 关键字 'Distinct' 附近的语法不正确