Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Alter table &Add UNIQUE key aboutit à une erreur

Voir la documentation pour savoir comment ajouter une contrainte de table.

ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

On dirait que AnimalType_id est une clé étrangère, donc je voulais juste vérifier que vous avez compris qu'en rendant cette colonne unique, vous établissez la relation un-un - vous ne pourrez avoir qu'un seul animal de chaque type.

Puisque vous obtenez une erreur lors de l'ajout de la contrainte unique, je vais vous suggérer de vouloir une clé étrangère au lieu d'une contrainte unique :

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

J'ai dû deviner le nom de la table AnimalType et son nom de colonne de clé primaire - veuillez les modifier s'ils sont incorrects.