簡體   English   中英

標識列是否從指定的種子開始

[英]Does identity column start at the specified seed

參考下面所附的來自SQL Server Management Studio的圖像,我已經有一個包含記錄的表,最后一條記錄的id of 7 我希望將此列自動遞增作為主鍵(就像在進行一些未知填充之前所做的那樣),顯然下一條記錄的id of 8

在此處輸入圖片說明

將種子指定為7意味着下一個記錄的ID將為7嗎? 還是(7 +增量值)等於8?

SQL Server非常智能,您從1到8給出的任何值都只會從8開始。

例如,如果將“ Identity Seed為1,並在表中插入一條記錄,SQL將僅將新的“ Identity計算為8。

如果在這種情況下指定> 8,則僅考慮種子值。

注意:當您使用SSMS實現此目的時,將在內部刪除表,並使用正確的身份創建一個新表。

如果要使用sql查詢來執行此操作,則必須遵循此答案中提到的說明

假設您的桌子很大,那么您必須查詢以找到最大ID

簡單地做到這一點,

DBCC CHECKIDENT ('TableName', RESEED, 1) 

我認為SQL Server將迫使您重新創建具有新標識的表,並且您將不得不將數據移到該表中,該表將從1開始並以1遞增。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM