簡體   English   中英

SQL Server 2005無法創建關系,因為它與自身沖突(?)

[英]SQL Server 2005 Unable to Create Relationship Because it's Conflicting with itself(?)

考慮下面的表(省略了不必要的字段)以及我正在嘗試創建的關系:

 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鏈接服務器創建的。

此錯誤消息表示某些數據不滿足約束。 這並不意味着發生了一些基於模式的沖突。

我遇到了同樣的問題......我進入了我的主表,在三個表中找到了一個0 id,用於提供下拉列表...我將0更改為表中的值,並且沒有進一步的問題......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM