Sto provando a modificare la chiave primaria di una tabella nel mio database SQL dalla chiave esistente a una chiave composita, che non include la colonna esistente. Il seguente codice non funziona a causa dei seguenti messaggi di errore:Cambia chiave primaria a chiave composita (la chiave primaria esiste già)
GOCCIA PRIMARY KEY:
sintassi non corretta in prossimità PRIMARIA. Prevedendo COLONNA, VINCOLO, ID, o QUOTED_ID
ADD PRIMARY KEY:
sintassi non corretta in prossimità PRIMARIA. In attesa ID
codice T-SQL:
ALTER TABLE AgentIdentification
DROP PRIMARY KEY Number,
ADD PRIMARY KEY (AgentId, IdIndicator)
EDIT
sono stato in grado di ottenere questo risultato utilizzando le seguenti due istruzioni di query
ALTER TABLE AgentIdentification
DROP CONSTRAINT [PK_AgentId_Id]
GO
ALTER TABLE AgentIdentification
ADD CONSTRAINT pk_PersonID PRIMARY KEY (AgentId, IdIndicator)
Anziché richiedere che SQL "DROP PRIMARY KEY" Avevo bisogno di dirlo a "DROP CONSTRAINT", separando anche queste due azioni nto due domande aiutate.
Si prega di etichettare questa con l'RDBMS corretta. SQL non è un database; è un linguaggio usato da molti (leggermente diverso in ogni caso). – Ben
Vuoi eliminare il campo PK o il vincolo PK? – danihp
Per favore: 1) Specifica il tuo database, 2) Taglia/incolla il messaggio esatto di errore, 3) Valuta la possibilità di suddividere il tuo comando in due istruzioni "alter table", 4) Ricordati che probabilmente avrai bisogno di altre dichiarazioni (es.), o potresti anche dover rilasciare e ricreare l'intero tavolo – paulsm4