Mysql
 sql >> Database >  >> RDS >> Mysql

Una tabella può avere più chiavi primarie?

Chiedi se puoi avere più di un campo della chiave primaria e tu sicuramente puoi. Puoi avere solo una chiave primaria, ma può essere composta da tutte le colonne necessarie per identificare in modo univoco le tue righe.

Usa qualcosa di simile quando crei la tua tabella:

CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) 

dove P_Td e LastName sono colonne nella tua tabella.

Se pensi di volere più di una chiave primaria, la risposta è "non proprio". Puoi avere una sola chiave primaria. Tuttavia, puoi avere tutti gli indici che desideri che hanno un vincolo univoco su di essi. Un indice univoco fa praticamente la stessa cosa di una chiave primaria.

per esempio :-

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 :Nell'esempio sopra c'è solo UNA CHIAVE PRIMARIA (pk_PersonID ). Tuttavia, il valore di pk_PersonID è composto da due colonne (P_Id e LastName ).