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

Ændre tabel &Tilføj UNIK nøgle resulterer i en fejl

Se dokumentationen for, hvordan man tilføjer en tabelbegrænsning.

ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

Det lyder som om AnimalType_id er en fremmednøgle, så jeg ville bare tjekke, at du forstod, at ved at gøre denne kolonne unik, gør du forholdet til ét - du vil kun kunne have ét dyr af hver type.

Da du får en fejl ved at tilføje den unikke begrænsning, vil jeg foreslå, at du faktisk ønsker en fremmednøgle i stedet for en unik begrænsning:

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

Jeg har været nødt til at gætte på navnet på AnimalType-tabelnavnet og dets primære nøglekolonnenavn - skift venligst disse, hvis de er forkerte.



  1. mysql-fejl:underforespørgsel returnerer mere end 1 række

  2. MySQL til at udfylde manglende datoer, når du bruger GROUP BY DATE(table.timestamp) uden at deltage i den midlertidige tabel

  3. Oracle SQL - kan CASE bruges i en kontrolbegrænsning til at bestemme dataattributter?

  4. Fejl 1062 - Dubleret indtastning '127' for nøglen 'PRIMÆR' - kan ikke finde årsagen