很多時候我們需要重置某個表的自增列,讓自增列重新從1開始記數。最蠢的方法當然是把該表刪掉再重新建表了。其實,還有其它的方法可以重置自增列的值:
方法一:使用TRUNCATE TABLE語句: TRUNCATE TABLE刪除表中的所有行,而不記錄單個行刪除操作,同時重置自增列。TRUNCATE TABLE 在功能上與沒有WHERE子句的DELETE語句相同;但是,TRUNCATE TABLE 速度更快,使用的系統資源和事務日志資源更少。
方法二:使用DBCC CHECKIDENT語句: DBCC CHECKIDENT在 SQL Server 2008 R2 中檢查指定表的當前標識值,如有必要,則更改標識值。還可以使用 DBCC CHECKIDENT 為標識列手動設置新的當前標識值。
語法:
DBCC CHECKIDENT ( table_name [, { NORESEED | { RESEED [,new_reseed_value ] } } ] ) [ WITH NO_INFOMSGS ]
參數: table_name:是要對其當前標識值進行檢查的表名。指定的表必須包含標識列。表名必須符合標識符規則。 NORESEED:指定不應更改當前標識值。 RESEED:指定應該更改當前標識值。 new_reseed_value:用作標識列的當前值的新值。 WITH NO_INFOMSGS:取消顯示所有信息性消息。
示例:我們要重置表t1的當前標識值為0,sql如下:
dbcc checkident('t1',reseed,0)
我們要查詢表t1的當前標識值,sql如下:
dbcc checkident('t1',noreseed)
本文來源于:http://zzagain.blog.163.com/blog/static/169305628201352694048594/
新聞熱點
疑難解答