Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Alterar tabela e adicionar chave ÚNICA resulta em um erro


Consulte a documentação para saber como adicionar uma restrição de tabela.
ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

Parece que AnimalType_id é uma chave estrangeira, então eu só queria verificar se você entendeu que, ao tornar esta coluna única, você está tornando o relacionamento um-um - você só poderá ter um animal de cada tipo.

Como você está recebendo um erro ao adicionar a restrição exclusiva, sugiro que você realmente queira uma chave estrangeira em vez de uma restrição exclusiva:
ALTER TABLE Animal
    ADD CONSTRAINT FK_Animal_AnimalType
    FOREIGN KEY
    (
        AnimalType_id
    )
    REFERENCES AnimalType
    (
        id
    )

Eu tive que adivinhar o nome da tabela AnimalType e o nome da coluna da chave primária - altere-os se estiverem incorretos.