sql >> Base de Datos >  >> RDS >> Sqlserver

Alterar tabla y agregar clave ÚNICA da como resultado un error

Consulte la documentación para saber cómo agregar una restricción de tabla.

ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

Parece que AnimalType_id es una clave foránea, así que solo quería comprobar que entendió que al hacer que esta columna sea única, está haciendo que la relación sea uno a uno:solo podrá tener un animal de cada tipo.

Dado que recibe un error al agregar la restricción única, le sugiero que realmente desee una clave externa en lugar de una restricción única:

ALTER TABLE Animal
    ADD CONSTRAINT FK_Animal_AnimalType
    FOREIGN KEY
    (
        AnimalType_id
    )
    REFERENCES AnimalType
    (
        id
    )

Tuve que adivinar el nombre de la tabla AnimalType y el nombre de la columna de la clave principal; cámbielos si son incorrectos.