W twojej tabeli znajduje się już klucz podstawowy. Nie możesz po prostu dodać klucza podstawowego, w przeciwnym razie spowoduje błąd. Ponieważ istnieje jeden klucz podstawowy dla tabeli sql.
Najpierw musisz upuścić swój stary klucz podstawowy.
MySQL:
ALTER TABLE Persion
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persion
DROP CONSTRAINT 'constraint name';
Musisz znaleźć nazwę ograniczenia w swojej tabeli. Jeśli podałeś nazwę ograniczenia podczas tworzenia tabeli, możesz łatwo użyć nazwy ograniczenia (np. PK_Persion).
Po drugie, dodaj klucz podstawowy.
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persion ADD PRIMARY KEY (PersionId,Pname,PMID);
lub lepszy poniżej
ALTER TABLE Persion ADD CONSTRAINT PK_Persion PRIMARY KEY (PersionId,Pname,PMID);
To może ustawić nazwę ograniczenia przez programistę. Łatwiej jest utrzymać stół.
Trochę się pogubiłem, kiedy spojrzałem na wszystkie odpowiedzi. Przeszukuję jakiś dokument, aby znaleźć każdy szczegół. Mam nadzieję, że ta odpowiedź może pomóc innym początkującym w SQL.
Odniesienie: https://www.w3schools.com/sql/sql_primarykey.asp
personId
w swoim stole. To z kolei oznacza, że jeśli dołączysz z tabeli typu transakcji (wielu) do tej tabeli na tym samym kluczu, otrzymasz duplikaty rekordów, co prowadzi do „podwójnego liczenia” rekordów transakcji.