将主键更改为组合键(主键已存在)

Nea*_*alR 11 sql sql-server primary-key composite-primary-key

我试图将我的SQL数据库中的表的主键从现有键更改为复合键,该组合键不包括现有列.由于以下错误消息,以下代码无法正常工作:

DROP PRIMARY KEY:

PRIMARY附近的语法不正确.期望COLUMN,CONSTRAINT,ID或QUOTED_ID

添加主要关键:

PRIMARY附近的语法不正确.期待身份证

T-SQL代码:

ALTER TABLE AgentIdentification 
DROP PRIMARY KEY Number, 
ADD PRIMARY KEY (AgentId, IdIndicator)
Run Code Online (Sandbox Code Playgroud)

编辑

我能够通过使用以下两个查询语句来完成此任务

ALTER TABLE AgentIdentification 
DROP CONSTRAINT [PK_AgentId_Id]
GO

ALTER TABLE AgentIdentification
ADD CONSTRAINT pk_PersonID PRIMARY KEY (AgentId, IdIndicator)
Run Code Online (Sandbox Code Playgroud)

相反,要求SQL"DROP PRIMARY KEY"我需要告诉它"DROP的约束",也分离这两个动作分为两个查询帮助.

Ruz*_*ani 23

    /* For SQL Server/Oracle/MS ACCESS */
    ALTER TABLE  AgentIdentification 
    DROP CONSTRAINT PK_Table1_Col1


    /* For MySql */
    ALTER TABLE  AgentIdentification 
    DROP PRIMARY KEY
Run Code Online (Sandbox Code Playgroud)

添加主键:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Table1
ADD CONSTRAINT pk_PersonID PRIMARY KEY (AgentId, IdIndicator)
Run Code Online (Sandbox Code Playgroud)