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

Fremmednøgle til ikke-primær nøgle

Hvis du virkelig vil oprette en fremmednøgle til en ikke-primær nøgle, SKAL det være en kolonne, der har en unik begrænsning på sig.

Fra bøger online:

En FOREIGN KEY-begrænsning behøver ikke kun at være knyttet til en PRIMARYKEY-begrænsning i en anden tabel; den kan også defineres til at referere til kolonnerne i en UNIK begrænsning i en anden tabel.

Så i dit tilfælde, hvis du laver AnotherID unikt, vil det være tilladt. Hvis du ikke kan anvende en unik begrænsning, er du uheldig, men det giver virkelig mening, hvis du tænker over det.

Selvom du som nævnt har en helt god primærnøgle som kandidatnøgle, hvorfor så ikke bruge den?



  1. SQL Server:Hent tabellens primærnøgle ved hjælp af sql-forespørgsel

  2. MySQL SELECT WHERE datetime matcher dag (og ikke nødvendigvis tid)

  3. MySQL-serveren er gået væk - på præcis 60 sekunder

  4. SQL COUNT() for begyndere