[英]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.