十月 30th, 2017
comments
Closed

查询当前的标识列值:
SELECT IDENT_CURRENT(‘dbo.StayPushShipping’)
SELECT IDENT_INCR(‘dbo.StayPushShipping’)
SELECT IDENT_SEED (‘dbo.StayPushShipping’)

对于普通的表,用TRUNCATE TABLE
TRUNCATE TABLE name可以删除表内所有值并重置标识值 ,但是表内的数据将丢失。

对于配置了复制的表,先用DELETE删掉数据后,再DBCC CHECKIDENT
DBCC CHECKIDENT (‘dbo.StayPushShipping’, RESEED,1)

你想要重置标识值(不删除数据)采用下面方法即可:但是存在问题:
1)DBCC CHECKIDENT (‘表名’, RESEED,new_value)(重置新的标识值,new_value为新值)
2) 问题:如dbcc checkident (‘表名’,reseed,1)即可,但如果表内有数据,则重设的值如果小于当前表
的标识最大值,再插入数据时未指定插入的标识值,这样会导致标识冲突问题,如果你的标识设置成自
增的。此外,你也可以用 dbcc checkident(‘表名’,reseed),即可自动重设值,最后生成值。

Comments are closed.