SQL重置自動增長型字段,IDENTITY字段

SQL重置自動增長型字段,IDENTITY字段,檢查指定表的當前標識值,如有必要,則更改標識值。
 Transact-SQL 語法約定

語法
 
DBCC CHECKIDENT
(
'table_name'
    [ , {
    NORESEED | { RESEED [ , new_reseed_value ] }
        }
    ]
)
[ WITH NO_INFOMSGS ]
 


如有必要,DBCC CHECKIDENT 會更正列的當前標識值。

當標識列中存在 PRIMARY KEY 或 UNIQUE 約束時,無效標識信息會導致錯誤消息 2627。

對當前標識值所做的具體更正取決于參數規范。

DBCC CHECKIDENT 命令  標識更正或所做的更正 
DBCC CHECKIDENT ( 'table_name', NORESEED )
 不重置當前標識值。DBCC CHECKIDENT 返回一個報告,它指明當前標識值和應使用的標識值。
 
DBCC CHECKIDENT ( 'table_name' ) or DBCC CHECKIDENT ( 'table_name', RESEED )
 如果表的當前標識值小于列中存儲的最大標識值,則使用標識列中的最大值對其進行重置。
 
DBCC CHECKIDENT ( 'table_name', RESEED, new_reseed_value )
 將當前標識值設置為 new_reseed_value。如果自創建表后沒有在表中插入任何行,則在運行 DBCC CHECKIDENT 后插入的第一行將使用 new_reseed_value 作為標識。此外,插入的下一行將使用 new_reseed_value + 1。如果 new_reseed_value 的值小于標識列中的最大值,并且標識列中存在 PRIMARY KEY 或 UNIQUE 約束,則后續引用該表時將產生錯誤消息 2627。
 

當前標識值可以大于表中的最大值。在此情況下,DBCC CHECKIDENT 將不自動重置當前標識值。若要在當前標識值大于列中的最大值時對當前標識值進行重置,請使用以下兩種方法中的任意一種:

執行 DBCC CHECKIDENT ('table_name', NORESEED) 確定列中的當前最大值,然后在 DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value) 命令中將其指定為 new_reseed_value。


執行 DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value),并將 new_reseed_value 設置為很小的值,然后運行 DBCC CHECKIDENT ('table_name', RESEED)。


 

發表評論

 




 

哈努曼与假面五骑士
福彩老快3开奖结果 四川快乐12选5推荐 内蒙古时时综合走势图 重庆时时开奖视频现场 快乐12图 快彩天津快乐十分软件 内蒙古时时跨度走势 湖北30选5开奖公告 秒速时时票官网网址 手机投注天津快乐十分平台 福建快3走势一定牛 平码走势图 新彊福彩时时彩五星走势图 福建快3开奖查询 快乐赛直播 为四川快乐l2任五遗漏怎么查