Pregunta si puede tener más de un campo de clave principal y ciertamente puedes. Solo puede tener una clave principal, pero puede constar de tantas columnas como necesite para identificar sus filas de manera única.
Usa algo como esto cuando estés creando tu tabla:
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
donde P_Td
y LastName
son columnas en su tabla.
Si cree que quiere más de una clave principal, entonces la respuesta es "no realmente". Solo puede tener una clave principal. Sin embargo, puede tener tantos índices como desee que tengan una restricción única sobre ellos. Un índice único hace más o menos lo mismo que una clave principal.
por ejemplo :-
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)
)
Nota :En el ejemplo anterior, solo hay UNA CLAVE PRIMARIA (pk_PersonID
). Sin embargo, el valor de pk_PersonID
se compone de dos columnas (P_Id
y LastName
).