Il y a déjà une clé primaire dans votre table. Vous ne pouvez pas simplement ajouter une clé primaire, sinon cela entraînera une erreur. Parce qu'il y a une clé primaire pour la table sql.
Tout d'abord, vous devez supprimer votre ancienne clé primaire.
MySQL:
ALTER TABLE Persion
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persion
DROP CONSTRAINT 'constraint name';
Vous devez trouver le nom de la contrainte dans votre table. Si vous aviez donné un nom de contrainte lors de la création de la table, vous pouvez facilement utiliser le nom de la contrainte (ex: PK_Persion).
Deuxièmement, ajoutez la clé primaire.
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persion ADD PRIMARY KEY (PersionId,Pname,PMID);
ou le meilleur ci-dessous
ALTER TABLE Persion ADD CONSTRAINT PK_Persion PRIMARY KEY (PersionId,Pname,PMID);
Cela peut définir le nom de la contrainte par développeur. Il est plus facile de maintenir la table.
Je suis devenu un peu confus quand j'ai regardé toutes les réponses. Je recherche donc un document pour trouver chaque détail. J'espère que cette réponse pourra aider d'autres débutants SQL.
Référence: https://www.w3schools.com/sql/sql_primarykey.asp
personId
dans votre table. Cela signifie à son tour que si vous vous joignez à partir d'une table de type transaction (plusieurs) à cette table sur cette seule clé, vous obtiendrez des enregistrements en double, conduisant à un «double comptage» des enregistrements de transaction.