1

考虑下表(省略了不必要的字段)和我试图创建的关系:

 Contractor__c               |Task                 |Account
|----------------------------|---------------------|---------------|
|Contractor__c NCHAR(18) NULL|WhatId NCHAR(18) NULL|Id NCHAR(18) PK|
|Id            NCHAR(18) PK  |                     |               |

 FK_Contractor__c_Account
|--------------------------------------|
|PK        |FK                         |
|----------|---------------------------|
|Account.Id|Contractor__c.Contractor__c|

 FK_Task_Contractor__c
|----------------------------|
|PK              |FK         |
|----------------|-----------|
|Contractor__c.Id|Task.WhatId|

听起来和看起来很简单,但是这两种关系都无法保存到数据库中,并且我都收到以下错误:

无法创建关系“FK_Contractor__c_Account”。ALTER TABLE 语句与 FOREIGN KEY 约束“FK_Contractor__c_Account”冲突。冲突发生在数据库“Contractors”、表“dbo.Account”、列“Id”中。

无法创建关系“FK_Task_Contractor__c”。ALTER TABLE 语句与 FOREIGN KEY 约束“FK_Task_Contractor_c ”冲突。冲突发生在数据库“Contractors”、表“dbo.Contractor _c”、“Id”列中。

我理解这些消息,因为它无法创建关系,因为它与存在的同名关系冲突,即使实际上没有。有人可以告诉我这里发生了什么吗?

对于任何关心的人,我使用的是 SQL Server 2005 SP4 (9.0.5057),并且这些表是使用 DBAmp 从 Salesforce 链接服务器创建的。

4

2 回答 2

3

此错误消息意味着某些数据不满足约束。这并不意味着发生了一些基于模式的冲突。

于 2012-07-30T18:09:47.917 回答
0

我遇到了同样的问题...我进入我的主表,在三个提供下拉列表的表中找到了一个 0 id...我将 0 更改为表中的一个值,然后 wala...没有进一步的问题...

于 2015-02-11T13:26:11.983 回答