重設標識列(identity)種子

2021-03-31 08:56:31 字數 696 閱讀 1618

重設標識列(identity)種子

wednesday, november 3 2004 11:08 am

假設你依賴於 identity 列,該列有乙個指定的種子和步進值,那麼偶爾你會需要重設 identity 值。這種情況經常會發生,因為你會從表中刪除很多行資料,而且並不想種子值反映出幾百萬條的測試記錄,而是從1(或者10、100等任何乙個數字)開始。但是在測試之後如何重設種子值呢?

解決方法是以 checkident 關鍵字執行 dbcc,指定適當的引數。如何,如果你在測試過程中建立了非常多的資料記錄,通過了回歸測試,刪除了所有的記錄,並想把種子重設為1,那麼你只要簡單地發出類似如下原命令即可:

use mydatabase

godbcc checkident (mytable, reseed, 1)

go 這幾行 sql **將把指定表的種子值強制重設為1。然而,你可能不想將種子重設為1,在這種情況下,你可以用你想用的種子值替代第三個引數。

有時候你可能想知道當前的種子,而不是想重設種子。在這種情況下,使用如下的 sql:

use mydatabase

godbcc checkident (mytable, noreseed)

go 總而言之,你可以將任意表的種子值重設為你想要的任何值——除了正在使用的值。你可以隨時測試資料庫然後刪除所有的測試記錄並將種子值重設為你需要的值。

重置MSSQL的Identity標識列的值

當表中的記錄被全部刪除,但此時標識列的值越來越大的時候,如果不加以重置,它還會無休止的增長。可以用如下語句重置標識列 dbcc checkident table name new reseed value 引數 table name 是要對其當前標識值進行檢查的表名。表名必須符合識別符號規則。有關更...

IDENTITY標識列的一些事

identity標識列的一些事 identity seed increment 可以定義乙個標識列。seed表示種子值 預設為1 increment表示增量 預設為1 一張表只能定義乙個標識列。一.identity列不能保證連續性 identity不能保證標識號是連續的,這是因為如果語句和事務失敗,...

mysql創標識列語句 mysql 標識列

標識列 又稱為自增長列 含義 可以不用手動插入值,系統提供預設的序列值 特點 1.表示列必須和主鍵搭配嗎?不一定,但是要求是乙個key 2.乙個表中只能有乙個標識列!3.標識列的型別有限制嗎?只能是數值型別 int,float,double 4.標識列可以通過set auto increment i...