SSMS
 sql >> база данни >  >> Database Tools >> SSMS

SQL Server Management Studio НЕ ми позволява да създавам множество външни ключове към множество първични ключове

Мисля, че трябва да сте ударили странен бъг в SSMS. Успях да създам вашата схема с помощта на SSMS 2014 без никакви грешки. Той попълни предварително трите съставни колони с първичен ключ при добавяне на новия FK. Бях внимателен, за да се уверя, че всички са празни, преди да започна да добавя двете колони във FK. Може би SSMS смяташе, че в един от празните редове все още има данни.

Редактиране:Просто имах още една мисъл, SSMS е известен за кеширането на всички промени, направени при редактиране на таблица. Например, ако отидете да промените две таблици и имате отворени и двата прозореца за редактиране. След това променяте PK в един прозорец и след това се опитвате да го препратите във втория прозорец, той ще сгреши, защото е кеширало каква е била схемата за първата таблица, когато прозорецът е бил отворен за първи път.

Ето моя генериран 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. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Накарайте SQL Intellisense да знае текущата база данни

  2. Как да извлечете данни от SQL Server въз основа на примера по-долу?

  3. Какъв е синтаксисът на T-SQL за свързване към друг SQL сървър?

  4. SQL Server Management Studio, как да намалите времето за изпълнение до милисекунди

  5. SSMS:Когато избирате низ в скрипта, маркирайте същите литерали