Estoy intentando cambiar la clave primaria de una tabla en mi base de datos SQL de la clave existente a una clave compuesta, que no incluye la columna existente. El siguiente código no está funcionando debido a los mensajes de error siguientes:Cambiar clave principal a clave compuesta (la clave principal ya existe)
DROP PRIMARY KEY:
incorrecta cerca PRIMARIA Sintaxis. Esperando COLUMNA, la restricción, ID, o QUOTED_ID
agregar la clave principal:
incorrecta cerca PRIMARIA Sintaxis. Esperando ID
código T-SQL:
ALTER TABLE AgentIdentification
DROP PRIMARY KEY Number,
ADD PRIMARY KEY (AgentId, IdIndicator)
EDITAR
pude lograr esto mediante el uso de las siguientes dos sentencias de consulta
ALTER TABLE AgentIdentification
DROP CONSTRAINT [PK_AgentId_Id]
GO
ALTER TABLE AgentIdentification
ADD CONSTRAINT pk_PersonID PRIMARY KEY (AgentId, IdIndicator)
En lugar de solicitar que se SQL "DROP PRIMARY KEY" Necesité decirle "DROP CONSTRAINT", separando también estas dos acciones i nto dos consultas ayudaron.
favor Marcar este con el RDBMS correcta. SQL no es una base de datos; es un lenguaje utilizado por muchos (algo diferente en cada caso). – Ben
¿Desea eliminar el campo PK o la restricción PK? – danihp
Por favor: 1) Especifique su base de datos, 2) Corte/pegue el mensaje de error exacto, 3) Considere dividir su comando en dos declaraciones "alter table", 4) Tenga en cuenta que probablemente necesite otras declaraciones (por ejemplo, para eliminar restricciones), o incluso podría tener que descartar y volver a crear la tabla completa – paulsm4