SSMS
 sql >> Baza danych >  >> Database Tools >> SSMS

SQL Server Management Studio NIE pozwala mi tworzyć wielu kluczy obcych do wielu kluczy podstawowych

Myślę, że musiałeś trafić na dziwną usterkę w SSMS. Udało mi się stworzyć Twój schemat za pomocą SSMS 2014 bez żadnych błędów. Wstępnie wypełnił trzy kolumny złożonego klucza podstawowego podczas dodawania nowego FK. Byłem ostrożny, aby upewnić się, że wszystkie zostały wymazane, zanim zacząłem dodawać dwie kolumny w FK. Może SSMS pomyślał, że jeden z pustych wierszy nadal zawiera dane.

Edycja:Pomyślałem tylko o tym, że SSMS jest znany z buforowania wszelkich zmian wprowadzonych podczas edycji tabeli. Na przykład, jeśli przejdziesz do modyfikacji dwóch tabel i masz otwarte oba okna edycji. Następnie zmieniasz PK w jednym oknie, a następnie próbujesz odwołać się do niego w drugim oknie, wystąpi błąd, ponieważ przechowuje w pamięci podręcznej schemat dla pierwszej tabeli, gdy okno zostało otwarte po raz pierwszy.

Oto moje wygenerowane 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. Nieprawidłowa nazwa obiektu sql

  2. Jak usunąć wpisy serwera na ekranie Połącz z serwerem programu SQL Server Management Studio?

  3. Przesyłaj FOR XML do Varchar (maks.)

  4. Połączenie SSMS z Sybase ASE

  5. Nie można zainstalować bazy danych adventureworks 2012 — błąd systemu operacyjnego 5:Odmowa dostępu