0

我有两个表,Table_1有 4 列(3 个主键)和Table_22 列。当我尝试在 中创建外键约束时Table_2,出现此错误:

在此处输入图像描述

这是我的表的定义:

表格1

CREATE TABLE [dbo].[Table_1]
(
    [Field_1] [tinyint] NOT NULL,
    [Field_2] [tinyint] NOT NULL,
    [Field_3] [tinyint] NOT NULL,
    [Field_4] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
 CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED 
(
    [Field_1] ASC,
    [Field_2] ASC,
    [Field_3] ASC
)

表_2

CREATE TABLE [dbo].[Table_2]
(
    [Field_1] [tinyint] NOT NULL,
    [Field_2] [tinyint] NOT NULL
) ON [PRIMARY]

您对如何解决这个问题有任何想法吗?谢谢 -

4

1 回答 1

2

的主键Table_1是,和的所有三个 。为了引用另一个表中的键,您必须引用该键中的所有列 - 因此您需要添加和to ,并在尝试创建外键约束时包含所有三列。Field_1Field_2Field_3Field_2Field_3Table_2

或者,如果Field_1本身是 的键Table_1,则通过重新定义主键或仅在 toUNIQUE上添加约束来声明它。然后,您将能够创建您尝试创建的外键。Field_1Table_1

于 2012-04-27T10:41:13.110 回答