Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Alter table &Add UNIQUE key genera un errore

Consulta la documentazione per come aggiungere un vincolo di tabella.

ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

Sembra che AnimalType_id sia una chiave esterna, quindi volevo solo verificare che tu capissi che rendendo unica questa colonna, stai rendendo la relazione uno a uno:sarai in grado di avere solo un animale di ogni tipo.

Poiché ricevi un errore nell'aggiunta del vincolo univoco, ti suggerirò di voler effettivamente una chiave esterna invece di un vincolo univoco:

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

Ho dovuto indovinare il nome della tabella AnimalType e il nome della colonna della chiave primaria:cambiali se non sono corretti.