มีคีย์หลักในตารางของคุณอยู่แล้ว คุณไม่สามารถเพิ่มคีย์หลักได้มิฉะนั้นจะทำให้เกิดข้อผิดพลาด เนื่องจากมีคีย์หลักหนึ่งรายการสำหรับตาราง sql
ก่อนอื่นคุณต้องวางคีย์หลักเก่าของคุณ
MySQL:
ALTER TABLE Persion
DROP PRIMARY KEY;
การเข้าถึงเซิร์ฟเวอร์ SQL / Oracle / MS:
ALTER TABLE Persion
DROP CONSTRAINT 'constraint name';
คุณต้องค้นหาชื่อข้อ จำกัด ในตารางของคุณ หากคุณได้รับชื่อข้อ จำกัด เมื่อคุณสร้างตารางคุณสามารถใช้ชื่อข้อ จำกัด ได้อย่างง่ายดาย (เช่น: PK_Persion)
ประการที่สองเพิ่มคีย์หลัก
การเข้าถึง MySQL / SQL Server / Oracle / MS:
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
ในตารางของคุณ ซึ่งหมายความว่าหากคุณเข้าร่วมจากตารางประเภทการทำธุรกรรม (มาก) ไปยังตารางนี้บนคีย์นี้เพียงอย่างเดียวคุณจะได้รับระเบียนที่ซ้ำกันซึ่งนำไปสู่ 'การนับซ้ำ' ของบันทึกการทำธุรกรรม