sql >> Databáze >  >> Database Tools >> SSMS

SQL Server Management Studio mi NEDOVOLÍ vytvořit více cizích klíčů pro více primárních klíčů

Myslím, že jste museli narazit na podivnou závadu v SSMS. Podařilo se mi vytvořit vaše schéma pomocí SSMS 2014 bez jakýchkoli chyb. Při přidávání nového FK to předvyplnilo tři složené sloupce primárního klíče. Dával jsem si pozor, abych se ujistil, že jsou všechny vymazané, než jsem začal přidávat dva sloupce do FK. Možná si SSMS myslel, že jeden z prázdných řádků má stále data.

Edit:Ještě mě napadlo, že SSMS je známý tím, že ukládá do mezipaměti všechny změny provedené při úpravě tabulky. Pokud například upravíte dvě tabulky a máte otevřená obě okna úprav. Pak změníte PK v jednom okně a pokusíte se na něj odkazovat ve druhém okně, dojde k chybě, protože uložil do mezipaměti schéma pro první tabulku při prvním otevření okna.

Zde je můj vygenerovaný 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. Chyba v závěrečné spouštěcí sekvenci – ladění Eclipse System Workbench pro STM32L476

  2. potíže s připojením k MySql DB (PHP)

  3. Nová verze PHPMyAdmin mi zabránila upravovat data

  4. Vlastní oddělovač v SQL Server nastavený v možnostech Výsledky na text nefunguje