PRIMARY KEY 限制唯一辨別資料庫表中的每條記錄。主鍵必須包含唯一的值,且主鍵列不能包含 NULL 值。每個表都應該有一個主鍵,并且每個表隻能有一個主鍵。
(1) CREATE TABLE 時的 SQL PRIMARY KEY 限制
下面的 SQL 在 "Persons" 表建立時在 "P_Id" 列上建立 PRIMARY KEY 限制:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle:
P_Id int NOT NULL PRIMARY KEY,
City varchar(255)
如需命名 PRIMARY KEY 限制,并定義多個列的 PRIMARY KEY 限制,請使用下面的 SQL 文法:
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
注釋:在上面的執行個體中,隻有一個主鍵 PRIMARY KEY(pk_PersonID)。然而,pk_PersonID 的值是由兩個列(P_Id 和 LastName)組成的。
(2) ALTER TABLE 時的 SQL PRIMARY KEY 限制
當表已被建立時,如需在 "P_Id" 列建立 PRIMARY KEY 限制,請使用下面的 SQL:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
注釋:如果您使用 ALTER TABLE 語句添加主鍵,必須把主鍵列聲明為不包含 NULL 值(在表首次建立時)。
(3) 撤銷 PRIMARY KEY 限制
如需撤銷 PRIMARY KEY 限制,請使用下面的 SQL:
DROP PRIMARY KEY
DROP CONSTRAINT pk_PersonID
資料來源:
SQL 限制(Constraints)
https://www.runoob.com/sql/sql-constraints.htmlSQL PRIMARY KEY 限制
https://www.runoob.com/sql/sql-primarykey.html