Bạn hỏi liệu bạn có thể có nhiều hơn một trường khóa chính không và bạn chắc chắn có thể. Bạn có thể chỉ có một khóa chính, nhưng khóa đó có thể bao gồm nhiều cột mà bạn cần để xác định duy nhất các hàng của mình.
Sử dụng một cái gì đó như thế này khi bạn đang tạo bảng của mình:
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
ở đâu P_Td
và LastName
là các cột trong bảng của bạn.
Nếu bạn nghĩ rằng bạn muốn có nhiều hơn một khóa chính, thì câu trả lời là "không thực sự". Bạn chỉ có thể có một khóa chính. Tuy nhiên, bạn có thể có bao nhiêu chỉ mục tùy thích nhưng có một hạn chế duy nhất đối với chúng. Một chỉ mục duy nhất thực hiện khá nhiều điều tương tự như một khóa chính.
ví dụ:-
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Lưu ý :Trong ví dụ trên, chỉ có MỘT TỪ KHÓA CHÍNH (pk_PersonID
). Tuy nhiên, giá trị của pk_PersonID
được tạo thành từ hai cột (P_Id
và LastName
).