簡體   English   中英

如何更改SQL Server中的主鍵值?

[英]How to change the primary key value in sql server?

我正在使用SQL Server 2014。

在我的表中,我為該列設置了主鍵。主鍵值從1開始。我想將其更改為從0開始。如何實現呢?

這將創建一個表,其中autoinc字段以0代替1開頭
另外最好命名您的主鍵

CREATE TABLE myTable
(
    id int IDENTITY(0,1),
    othercolumn int,
    and so on...

    constraint PK_myTableID primary key (id)
)

但是,如果要使用現有表執行此操作,則最好的選擇是使用Element Zero的anwser

如果表為空,最簡單的方法是刪除表並像GuidoG一樣以0的身份種子重新創建它。 如果表中有數據,將主鍵更改為0(就像提到Intern87一樣)將是一個壞主意,因為在它插入鍵為0的行后,下一個鍵將為1,因此可能已經在表中了,因此會導致進一步的插入失敗,並出現主鍵重復錯誤。

因此,如果您有現有數據,但必須擁有鍵0的數據,則可能只需要在行0中插入一個標識即可。請執行以下操作

SET IDENTITY_INSERT mytable ON;

INSERT INTO mytable (id, col1, col2, etc..) 
VALUES (0, 'col1data','col2data', etc..);

SET IDENTITY_INSERT mytable OFF;

只需確保一次運行所有這些操作,因為一旦您打開身份插入功能,其他插入操作可能會失敗,直到您將其關閉。

您也許可以重新設定種子;

DBCC CHECKIDENT ('TableName', RESEED, 0);
GO

暫無
暫無

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

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