你好 我有一个主表BASECOMPANYDATA BaseCompanyDataID作为PK。这是由 2其他表格客户& PRODUCTCOMPANIES。现在我有了我的联系人想要连接2个客户,产品公司将有0或 更多的联系人。所以我在CONTACTS中创建了一个FK(BaseCompanyID),并连接到 BASECOMPANYDATA PK(BaseCompanyDataID)。但是,当我试图插入 客户端中存在的记录时,出现以下错误: 错误:插入或更新表“xxxxx”违反外键约束“xxxxx” 细节:键(BaseCompanyDataID)=( 17)不存在于表“BaseCompanyData”中。 此ID存在于上述继承的表(BaseCompanyData)中。 有人可以解释为什么会发生这种情况?postgres错误:插入或更新表“xxxxx”违反外键约束“xxxxx”
在此先感谢
PS:嗯,我有4个表:
1.BASECOMPANYDATA与BaseCompanyDataID作为PK和其他一些领域。 2.客户从上面的表中继承,因此它具有CustomerID作为PK并且具有BASECOMPANYDATA表的字段,即BaseCompanyDataID等。 3.PRODUCTCOMPANIES从BASECOMPANYDATA继承,因此它具有字段ProductCompanyID作为PK和继承的字段表格,如BaseCompanyDataID等 4.与ContactID作为PK和BaseCompanyDataID作为FK的联系。我试图用两种不同的方式连接桌面联系人。一个。 CONTACTS-> BaseCompanyID与CUSTOMERS-> BaseCompanyDataID和CONTACTS-> BaseCompanyID与PRODUCTCOMPANIES-> BaseCompanyDataID b。 CONTACTS-> BaseCompanyID与BASECOMPANYDATA-> BaseCompanyDataID结果是相同的错误。如果有的话,我可以使用继承来创建FK。在此先感谢
如果您在您的问题中添加了换行符,并且可能从您的表定义中选择了一个片段,那就太好了。 – 2010-11-23 05:18:17