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

Fremmednøgle, der refererer til en primærnøgle med 2 kolonner i SQL Server

Det er selvfølgelig muligt at oprette en fremmednøglerelation til en sammensat (mere end én kolonne) primærnøgle. Du viste os ikke den erklæring, du bruger til at forsøge at skabe det forhold - det burde være noget i retning af:

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

Er det det du bruger?? Hvis (ID, Application) er faktisk den primære nøgle på dbo.Libraries , denne erklæring burde helt sikkert fungere.

Luk:bare for at tjekke - kan du køre denne sætning i din database og rapportere tilbage, hvad outputtet er?

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. Konfiguration af Service Broker til asynkron behandling

  2. URL-forkortende websted

  3. Er en MySQL primær nøgle allerede i en slags standard rækkefølge

  4. Brug af indekser i SQL Server-hukommelsesoptimerede tabeller