sql >> Databáze >  >> RDS >> Sqlserver

Změnit tabulku a přidat UNIQUE klíč způsobí chybu

Viz dokumentaci jak přidat omezení tabulky.

ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

Zní to, že AnimalType_id je cizí klíč, takže jsem se chtěl jen ujistit, že jste pochopili, že když uděláte tento sloupec jedinečným, uděláte vztah jeden – budete moci mít pouze jedno zvíře od každého typu.

Protože se při přidávání jedinečného omezení zobrazuje chyba, navrhnu, že ve skutečnosti chcete cizí klíč namísto jedinečného omezení:

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

Musel jsem uhodnout název názvu tabulky AnimalType a název sloupce primárního klíče – změňte je, pokud jsou nesprávné.



  1. Je Microsoft Access stále relevantní v roce 2020?

  2. Dotaz Časový rozsah mezi daty pomocí DATETIME mysql

  3. Oracle:Jak používat lokální proměnné procedury pro příkazy EXECUTE IMMEDIATE v procedurách

  4. SQL DELETE s INNER JOIN