-1

我在向 SQL 2008 添加基于另一个表中的复合主键的外键约束时遇到问题。我已根据此处的一些帖子遵循了一些指示,但无法使其正常工作。

我有两张桌子:

CREATE TABLE [Staging].[ActivityLog](
    [ActivityLogId] [int] IDENTITY(1,1) NOT NULL,
        ...
    [ActivityLogType] [varchar](10) NOT NULL,
    [ActivityLogSubType] [varchar](10) NOT NULL,
CONSTRAINT [PK_ActivityLog] PRIMARY KEY CLUSTERED 
(
    [ActivityLogId] ASC
))

CREATE TABLE [Staging].[ActivityLogTypeSubType](
    [ActivityLogType] [varchar](10) NOT NULL,
    [ActivityLogSubType] [varchar](10) NOT NULL,
CONSTRAINT [PK_ActivityLogTypeSubType] PRIMARY KEY CLUSTERED 
(
    [ActivityLogType] ASC,
    [ActivityLogSubType] ASC
))

GO

我正在尝试添加这样的外键:

ALTER TABLE Staging.ActivityLog
    ADD CONSTRAINT FK_ActivityLog_ActivityLogTypeSubType
    FOREIGN KEY(ActivityLogType, ActivityLogSubType)
    REFERENCES Staging.ActivityLogTypeSubType(ActivityLogType, ActivityLogSubType)

我收到此错误:

The ALTER TABLE statement conflicted with the FOREIGN KEY constraint   "FK_ActivityLog_ActivityLogTypeSubType". The conflict occurred in database "HMDB_DEV", table "Staging.ActivityLogTypeSubType".

我已验证此 FK 尚不存在。

我为这篇冗长的帖子道歉。任何帮助将不胜感激。

谢谢,詹姆斯

4

1 回答 1

0

您是否已验证数据以匹配 FK 逻辑?

于 2013-09-20T18:15:01.030 回答