Sudah ada kunci utama di tabel Anda. Anda tidak bisa hanya menambahkan kunci utama, jika tidak akan menyebabkan kesalahan. Karena ada satu kunci utama untuk tabel sql.
Pertama, Anda harus melepaskan kunci utama lama Anda.
MySQL:
ALTER TABLE Persion
DROP PRIMARY KEY;
Akses SQL Server / Oracle / MS:
ALTER TABLE Persion
DROP CONSTRAINT 'constraint name';
Anda harus menemukan nama kendala di tabel Anda. Jika Anda telah memberikan nama kendala saat membuat tabel, Anda dapat dengan mudah menggunakan nama kendala (mis: PK_Persion).
Kedua, Tambahkan kunci utama.
Akses MySQL / SQL Server / Oracle / MS:
ALTER TABLE Persion ADD PRIMARY KEY (PersionId,Pname,PMID);
atau yang lebih baik di bawah ini
ALTER TABLE Persion ADD CONSTRAINT PK_Persion PRIMARY KEY (PersionId,Pname,PMID);
Ini dapat menetapkan nama kendala oleh pengembang. Lebih mudah menjaga meja.
Saya sedikit bingung ketika saya melihat semua jawaban. Jadi saya meneliti beberapa dokumen untuk menemukan setiap detail. Semoga jawaban ini dapat membantu pemula SQL lainnya.
Referensi: https://www.w3schools.com/sql/sql_primarykey.asp
personId
di tabel Anda. Ini pada gilirannya berarti jika Anda bergabung dari tabel jenis transaksi (banyak) ke tabel ini hanya dengan kunci ini Anda akan mendapatkan catatan duplikat, yang mengarah ke 'penghitungan ganda' dari catatan transaksi.