Đã có một khóa chính trong bảng của bạn. Bạn không thể chỉ thêm khóa chính, nếu không sẽ gây ra lỗi. Bởi vì có một khóa chính cho bảng sql.
Đầu tiên, bạn phải bỏ khóa chính cũ của mình.
MySQL:
ALTER TABLE Persion
DROP PRIMARY KEY;
Truy cập máy chủ SQL / Oracle / MS:
ALTER TABLE Persion
DROP CONSTRAINT 'constraint name';
Bạn phải tìm tên ràng buộc trong bảng của bạn. Nếu bạn đã đặt tên ràng buộc khi bạn tạo bảng, bạn có thể dễ dàng sử dụng tên ràng buộc (ví dụ: PK_Persion).
Thứ hai, Thêm khóa chính.
Truy cập MySQL / SQL / Oracle / MS:
ALTER TABLE Persion ADD PRIMARY KEY (PersionId,Pname,PMID);
hoặc cái tốt hơn dưới đây
ALTER TABLE Persion ADD CONSTRAINT PK_Persion PRIMARY KEY (PersionId,Pname,PMID);
Điều này có thể đặt tên ràng buộc của nhà phát triển. Dễ dàng hơn để duy trì bảng.
Tôi đã có một chút bối rối khi tôi đã xem tất cả các câu trả lời. Vì vậy, tôi nghiên cứu một số tài liệu để tìm mọi chi tiết. Hy vọng câu trả lời này có thể giúp người mới bắt đầu SQL.
Tham khảo: https://www.w3schools.com/sql/sql_primarykey.asp
personId
trong bảng của mình. Đến lượt điều này có nghĩa là nếu bạn tham gia từ một loại bảng giao dịch (nhiều) vào bảng này trên khóa này, bạn sẽ nhận được các bản ghi trùng lặp, dẫn đến 'đếm gấp đôi' các bản ghi giao dịch.