Tôi đang cố gắng thay đổi khóa chính của bảng trong cơ sở dữ liệu SQL của tôi từ khóa hiện tại sang khóa tổng hợp, không bao gồm cột hiện tại. Các mã sau đây không hoạt động do các thông báo lỗi sau:Thay đổi khóa chính thành khóa tổng hợp (khóa chính đã tồn tại)
thả PRIMARY KEY:
không đúng cú pháp gần TIỂU. Mong COLUMN, CONSTRAINT, ID, hoặc QUOTED_ID
ADD PRIMARY KEY:
không đúng cú pháp gần TIỂU. Mong ID
mã T-SQL:
ALTER TABLE AgentIdentification
DROP PRIMARY KEY Number,
ADD PRIMARY KEY (AgentId, IdIndicator)
EDIT
tôi đã có thể thực hiện điều này bằng cách sử dụng hai câu truy vấn sau đây
ALTER TABLE AgentIdentification
DROP CONSTRAINT [PK_AgentId_Id]
GO
ALTER TABLE AgentIdentification
ADD CONSTRAINT pk_PersonID PRIMARY KEY (AgentId, IdIndicator)
Thay vì yêu cầu đó SQL "DROP PRIMARY KEY" Tôi cần phải nói với nó "DROP CONSTRAINT", cũng tách hai hành động này vào hai truy vấn đã giúp.
Hãy tag này với RDBMS đúng. SQL là _not_ một cơ sở dữ liệu; đó là ngôn ngữ được nhiều người sử dụng (hơi khác nhau trong mọi trường hợp). – Ben
Bạn có muốn bỏ giới hạn PK hoặc PK không? – danihp
Xin vui lòng: 1) Chỉ định cơ sở dữ liệu của bạn, 2) Cắt/dán thông báo lỗi chính xác, 3) Xem xét ngắt lệnh của bạn thành hai câu lệnh "thay đổi bảng", 4) Lưu ý rằng bạn có thể cần các câu lệnh khác (vd: để giảm ràng buộc), hoặc thậm chí bạn có thể phải thả và tạo lại toàn bộ bảng – paulsm4