sql >> Databasteknik >  >> Database Tools >> SSMS

SQL Server Management Studio låter mig INTE skapa flera främmande nycklar till flera primärnycklar

Jag tror att du måste ha drabbats av ett konstigt fel i SSMS. Jag kunde skapa ditt schema med SSMS 2014 utan några fel. Den förfyllde de tre sammansatta primärnyckelkolumnerna när den nya FK lades till. Jag var noga med att se till att alla var tömda innan jag började lägga till de två kolumnerna i FK. Kanske trodde SSMS att en av de tomma raderna fortfarande hade data i sig.

Edit:Tänkte bara på en tanke till, SSMS är känt för att cachelagra alla ändringar som görs när man redigerar en tabell. Till exempel, om du går för att ändra två tabeller och har båda redigeringsfönstren öppna. Sedan ändrar du PK i ett fönster och försöker sedan referera till det i det andra fönstret, det kommer att felas eftersom det har cachelagrat vad schemat var för den första tabellen när fönstret först öppnades.

Här är min genererade 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. Hur visar jag SSIS-paketen i SQL Server Management Studio?

  2. Ogiltigt antal fält i CSV-indata på rad 1 phpmyadmin

  3. SQL Server:Importera databas från .mdf?

  4. php -hur man löser Diskkvoten har överskridits med något cpnel-problem