[英]Creating and populating a primary key column in an existing table using SQL
問題
我不是 100% 確定如何在現有表中創建一個可以充當唯一主鍵的列,並希望驗證我下面的方法是否有效,以及如果適用的話,就可能更好的方法提出建議/建議.
設想
假設我有一個如下所示的現有表( tbl_employee
)
Employee Name Location
------------------------------
John London
Sharath New York
Nivas Mumbai
Praveen Texas
Maharaj Las Vegas
我想在這個表中添加一列,它可以作為主鍵,看起來像這樣
EmployeeID
-----------
1
2
3
4
5
試過
為表創建一列,將該列指定為主鍵。 不確定這是否會按預期工作? 驗證/潛在的改進建議將不勝感激。
-- Purpose of this is to add an EmployeeID to the existing table (values such as shown above)
-- Set the EmployeeID as the primary key of the table (no primary key already exists)
ALTER TABLE tbl_employee ADD EmployeeID int IDENTITY(1,1) NOT NULL
ADD CONSTRAINT PK_tbl_employee_EmployeeID PRIMARY KEY CLUSTERED (EmployeeID);
采用
ALTER TABLE tbl_employee
ADD EmployeeID int IDENTITY(1,1) NOT NULL
CONSTRAINT PK_tbl_employee_EmployeeID PRIMARY KEY (EmployeeID);
要么
ALTER TABLE tbl_employee
ADD EmployeeID int IDENTITY(1,1) NOT NULL;
ALTER TABLE tbl_employee
ADD CONSTRAINT PK_tbl_employee_EmployeeID PRIMARY KEY (EmployeeID);
和
要創建索引,請使用以下命令而不是在列定義中使用CLUSTERED
CREATE INDEX idx__tbl_employee_EmployeeID
ON tbl_employee (EmployeeID);
最后
添加一列作為具有Identity屬性的主鍵,並在一個位置為其創建索引。
ALTER TABLE tbl_employee ADD EmployeeID int IDENTITY(1,1) NOT NULL
CONSTRAINT PK_tbl_employee_EmployeeID PRIMARY KEY CLUSTERED (EmployeeID)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.