sql >> Databasteknik >  >> RDS >> Sqlserver

Främmande nyckel som refererar till en primärnyckel med två kolumner i SQL Server

Naturligtvis är det möjligt att skapa en främmande nyckelrelation till en sammansatt (mer än en kolumn) primärnyckel. Du visade oss inte uttalandet du använder för att försöka skapa den relationen – det borde vara något i stil med:

ALTER TABLE dbo.Content
   ADD CONSTRAINT FK_Content_Libraries
   FOREIGN KEY(LibraryID, Application)
   REFERENCES dbo.Libraries(ID, Application)

Är det det du använder?? Om (ID, Application) är verkligen den primära nyckeln på dbo.Libraries , detta uttalande borde definitivt fungera.

Luk:bara för att kontrollera - kan du köra detta uttalande i din databas och rapportera tillbaka vad resultatet är?

SELECT
    tc.TABLE_NAME,
    tc.CONSTRAINT_NAME, 
    ccu.COLUMN_NAME
FROM 
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN 
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu 
      ON ccu.TABLE_NAME = tc.TABLE_NAME AND ccu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
WHERE
    tc.TABLE_NAME IN ('Libraries', 'Content')


  1. Hjälp med att greppa (INRE?) GÅ MED

  2. MySQL, REGEXP - Hitta ord som bara innehåller följande exakta bokstäver

  3. mysql uppdatera flera rader, var och en med sina egna värden, med en CASE-sats

  4. Hur man jämför numeriska värden i samma kolumner för flera kolumner med Oracle SQL