sql >> Database teknologi >  >> Database Tools >> SSMS

SQL Server Management Studio lader mig IKKE oprette flere fremmednøgler til flere primærnøgler

Jeg tror, ​​du må have ramt en underlig fejl i SSMS. Jeg var i stand til at oprette dit skema ved hjælp af SSMS 2014 uden nogen fejl. Den udfyldte de tre sammensatte primærnøglekolonner på forhånd, da den nye FK blev tilføjet. Jeg var omhyggelig med at sikre mig, at de alle var blanke, før jeg begyndte at tilføje de to kolonner i FK. Måske troede SSMS, at en af ​​de tomme rækker stadig havde data i sig.

Edit:Havde lige en tanke mere, SSMS er kendt for at cache alle ændringer, der foretages, når man redigerer en tabel. For eksempel, hvis du går til at ændre to tabeller og har begge redigeringsvinduer åbne. Så ændrer du PK'en i det ene vindue og prøver derefter at henvise til den i det andet vindue, den vil fejle, fordi den har cachelagret, hvad skemaet var for den første tabel, da vinduet først blev åbnet.

Her er min genererede DDL:

CREATE TABLE [dbo].[AppRegion](
    [appname] [nvarchar](50) NOT NULL,
    [isocode] [char](5) NOT NULL,
 CONSTRAINT [PK_AppRegion] PRIMARY KEY CLUSTERED 
(
    [appname] ASC,
    [isocode] ASC
)
) ON [PRIMARY]

CREATE TABLE [dbo].[Translation](
    [ResourceKey] [nvarchar](128) NOT NULL,
    [appname] [nvarchar](50) NOT NULL,
    [isocode] [char](5) NOT NULL,
    [text] [nvarchar](400) NULL,
 CONSTRAINT [PK_Translation] PRIMARY KEY CLUSTERED 
(
    [ResourceKey] ASC,
    [appname] ASC,
    [isocode] ASC
)
) ON [PRIMARY]

ALTER TABLE [dbo].[Translation]   ADD  CONSTRAINT [FK_Translation_AppRegion] FOREIGN KEY([appname], [isocode])
REFERENCES [dbo].[AppRegion] ([appname], [isocode])



  1. phpMyAdmin EKSTREMT langsom ved indlæsning af innoDB-databasens hovedside

  2. Tilladt Hukommelsesstørrelse opbrugt

  3. phpMyAdmin FEJL:mysqli_real_connect():(HY000/1045):Adgang nægtet for brugeren 'pma'@'localhost' (ved hjælp af adgangskode:NEJ)

  4. DBeaver EE 7.0 er den sidste version med 32-bit support