C'è già una chiave primaria nella tua tabella. Non puoi semplicemente aggiungere la chiave primaria, altrimenti causeranno errori. Perché esiste una chiave primaria per la tabella sql.
Innanzitutto, devi rilasciare la tua vecchia chiave primaria.
MySQL:
ALTER TABLE Persion
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persion
DROP CONSTRAINT 'constraint name';
Devi trovare il nome del vincolo nella tua tabella. Se hai dato il nome del vincolo quando hai creato la tabella, puoi facilmente usare il nome del vincolo (es: PK_Persion).
In secondo luogo, Aggiungi chiave primaria.
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persion ADD PRIMARY KEY (PersionId,Pname,PMID);
o il migliore qui sotto
ALTER TABLE Persion ADD CONSTRAINT PK_Persion PRIMARY KEY (PersionId,Pname,PMID);
Questo può impostare il nome del vincolo dallo sviluppatore. È più facile mantenere la tabella.
Mi sono un po 'confuso quando ho cercato tutte le risposte. Quindi cerco un documento per trovare ogni dettaglio. Spero che questa risposta possa aiutare altri principianti di SQL.
Riferimento: https://www.w3schools.com/sql/sql_primarykey.asp
personId
nella tua tabella. Questo a sua volta significa che se ti unisci da una tabella di tipi di transazione (molti) a questa tabella solo su questa chiave otterrai record duplicati, portando a un "doppio conteggio" dei record di transazione.