1. 程式人生 > >MSSQL 對已有資料表新增自增主鍵

MSSQL 對已有資料表新增自增主鍵

最近運維線上檢查,發現線上有個表沒有主鍵標識。需要新增主鍵,我看了下大概十萬左右的資料,現有資料重複率較高,無法對現有列直接新增主鍵,所以需要加一列無意義的主鍵標識。根據主鍵欄位型別找了兩種方式。

1. 主鍵為int 或者bigint

ALTER TABLE Atest ADD MainId int identity(1,1)  PRIMARY KEY;

2.主鍵為GUID

ALTER TABLE dbo.Atest ADD
  MainId uniqueidentifier NOT NULL CONSTRAINT DF_Atest_MainId DEFAULT newid()
GO
ALTER TABLE dbo.Atest ADD CONSTRAINT
  PK_Atest PRIMARY KEY CLUSTERED 
  (
  MainId
  ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];