如何在SQL Server Management Studio 2012中创建复合外键

7

我可以在 SQL Server Management Studio 2012 中成功创建复合主键,方法是选择两列(OrderId,CompanyId),右键设置为主键。但是我不知道如何使用 SQL Server Management Studio 2012 在其他表中创建基于两列(OrderId,CompanyId)的外键。

3个回答

14

在对象资源管理器中,进入您的表并从上下文菜单中选择 Keys > 新建外键

输入图像描述

从弹出的对话框中,单击 Add 按钮创建一个新的外键:

输入图像描述

为其命名,并单击 ... 按钮以打开 表和列规范 对话框:

输入图像描述

填写父表和子表的必要列,点击 OK完成了!

或者更加简便高效地使用 T-SQL 脚本!

ALTER TABLE dbo.OtherTable
ADD CONSTRAINT FK_OtherTable_ParentTable
FOREIGN KEY(OrderId, CompanyId) REFERENCES dbo.ParentTable(OrderId, CompanyId)

我知道上面的查询,但问题是我想以可视化的方式执行它。您在屏幕截图中提到了外键,这很好,但在复合主键外键关系的情况下,它没有在屏幕截图中提到...... - user3004110
如果您需要引用复合主键,只需在对话框中选择多个列来定义外键即可! - marc_s
GUI的方式无法工作,T-SQL脚本立即生效。 - dario_ramos

0

如果您在Management Studio的表列表中打开表的子菜单,您会看到一个名为Keys的选项。如果您右键单击此选项,将出现New Foreign Key选项。如果您选择此选项,则会打开Foreign Key Relationships对话框。在(General)部分中,您将找到Tables And Columns Specifications。如果我打开它,我可以选择多个列。


-1

为每个列添加两个独立的外键。


2
如果被引用的表只有一个复合主键,且没有其他声明的键,则无法创建仅引用其中一列的外键。 - Damien_The_Unbeliever
能够翻译下面这段有关编程的内容吗?我觉得不可能! - Majid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接