В вашей таблице уже есть первичный ключ. Вы не можете просто добавить первичный ключ, иначе это приведет к ошибке. Потому что есть один первичный ключ для таблицы SQL.
Сначала вы должны удалить свой старый первичный ключ.
MySQL:
ALTER TABLE Persion
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persion
DROP CONSTRAINT 'constraint name';
Вы должны найти имя ограничения в вашей таблице. Если вы указали имя ограничения при создании таблицы, вы можете легко использовать имя ограничения (например, PK_Persion).
Во-вторых, добавить первичный ключ.
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persion ADD PRIMARY KEY (PersionId,Pname,PMID);
или лучше ниже
ALTER TABLE Persion ADD CONSTRAINT PK_Persion PRIMARY KEY (PersionId,Pname,PMID);
Это может установить имя ограничения разработчиком. Легче поддерживать стол.
Я немного запутался, когда посмотрел все ответы. Поэтому я изучаю некоторые документы, чтобы найти каждую деталь. Надеюсь, что этот ответ может помочь другим начинающим SQL.
Ссылка: https://www.w3schools.com/sql/sql_primarykey.asp
personId
в вашей таблице. Это, в свою очередь, означает, что если вы присоединитесь из таблицы типа транзакции (много) к этой таблице только по этому ключу, вы получите дубликаты записей, что приведет к «двойному учету» записей транзакций.