sql >> Database >  >> RDS >> Sqlserver

Tabel wijzigen &UNIEKE sleutel toevoegen resulteert in een fout

Zie de documentatie voor het toevoegen van een tabelbeperking.

ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

Het klinkt alsof AnimalType_id een refererende sleutel is, dus ik wilde even controleren of je begrepen hebt dat door deze kolom uniek te maken, je de relatie één-één maakt - je kunt maar één dier van elk type hebben.

Aangezien je een foutmelding krijgt bij het toevoegen van de unieke beperking, stel ik voor dat je eigenlijk een externe sleutel wilt in plaats van een unieke beperking:

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

Ik moest raden naar de naam van de AnimalType-tabelnaam en de naam van de primaire sleutelkolom - verander deze als ze onjuist zijn.



  1. Hoe rijen met queryresultaten te retourneren in de functie van PostgreSQL?

  2. Meerdere tellingen in CakePHP

  3. BadImageFormatException van .net Oracle-provider

  4. MySQL-fout - SQLSTATE [42000]:syntaxisfout of toegangsfout:1064