SSMS
 sql >> Teknologi Basis Data >  >> Database Tools >> SSMS

SQL Server Management Studio TIDAK mengizinkan saya membuat beberapa kunci asing ke beberapa kunci utama

Saya pikir Anda pasti mengalami kesalahan aneh di SSMS. Saya dapat membuat skema Anda menggunakan SSMS 2014 tanpa kesalahan. Itu melakukan pra-isi tiga kolom kunci utama komposit saat menambahkan FK baru. Saya berhati-hati untuk memastikan semuanya kosong sebelum saya mulai menambahkan dua kolom di FK. Mungkin SSMS mengira salah satu baris kosong masih memiliki data di dalamnya.

Sunting:Hanya punya satu pemikiran lagi, SSMS tahu untuk menyimpan perubahan apa pun yang dibuat saat mengedit tabel. Misalnya, jika Anda pergi untuk memodifikasi dua tabel dan membuka jendela edit keduanya. Kemudian Anda mengubah PK di satu jendela dan kemudian mencoba mereferensikannya di jendela kedua, itu akan error karena telah di-cache skema untuk tabel pertama ketika jendela pertama kali dibuka.

Ini DDL yang saya buat:

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. Dari mana semua sesi SQL Server itu?

  2. Mengapa nama alias yang sama dengan nama kolom dihilangkan saat disimpan sebagai tampilan?

  3. SQL Server ISNUMERIC() Klarifikasi

  4. Lindungi LocalDB dari akses pengguna

  5. Mengisi Drop down dengan nilai-nilai dari database di play frame work