Mysql
 sql >> Base de données >  >> RDS >> Mysql

Une table peut-elle avoir plusieurs clés primaires ?

Vous demandez si vous pouvez avoir plus d'un champ de clé primaire et vous le pouvez très certainement. Vous ne pouvez avoir qu'une seule clé primaire, mais celle-ci peut être composée d'autant de colonnes que nécessaire pour identifier de manière unique vos lignes.

Utilisez quelque chose comme ceci lorsque vous créez votre tableau :

CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) 

P_Td et LastName sont des colonnes dans votre tableau.

Si vous pensez que vous voulez plus d'une clé primaire, alors la réponse est "pas vraiment". Vous ne pouvez avoir qu'une seule clé primaire. Cependant, vous pouvez avoir autant d'index que vous le souhaitez avec une contrainte unique. Un index unique fait à peu près la même chose qu'une clé primaire.

par exemple :-

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)
)

Remarque  : Dans l'exemple ci-dessus, il n'y a qu'UNE CLÉ PRIMAIRE (pk_PersonID ). Cependant, la valeur de pk_PersonID est composé de deux colonnes (P_Id et LastName ).