14

SQL データベース内のテーブルの主キーを、既存のキーから、既存の列を含まない複合キーに変更しようとしています。次のエラー メッセージが表示されるため、次のコードは機能しません。

主キーを削除:

PRIMARY 付近の構文が正しくありません。COLUMN、CONSTRAINT、ID、または QUOTED_ID が必要です

主キーを追加:

PRIMARY 付近の構文が正しくありません。ID が必要です

T-SQL コード:

ALTER TABLE AgentIdentification 
DROP PRIMARY KEY Number, 
ADD PRIMARY KEY (AgentId, IdIndicator)

編集

次の2つのクエリステートメントを使用してこれを達成できました

ALTER TABLE AgentIdentification 
DROP CONSTRAINT [PK_AgentId_Id]
GO

ALTER TABLE AgentIdentification
ADD CONSTRAINT pk_PersonID PRIMARY KEY (AgentId, IdIndicator)

その SQL に「DROP PRIMARY KEY」を要求する代わりに、「DROP CONSTRAINT」に指示する必要があり、これら 2 つのアクションを 2 つのクエリに分割することも役に立ちました。

4

1 に答える 1

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


    /* For MySql */
    ALTER TABLE  AgentIdentification 
    DROP PRIMARY KEY

主キーを追加するには:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Table1
ADD CONSTRAINT pk_PersonID PRIMARY KEY (AgentId, IdIndicator)
于 2012-08-28T21:31:52.820 に答える