2011-04-12 57 views
2

我有两个表TableA和TableB。现在TableA有2列:ID &名称,TableB有3列:ID,名称,& TableAID。现在有一个来自TableA.ID = TableB.TableAID的外键约束。我需要能够允许TableB.TableAID使用TableA.ID或TableB.ID中的值,因此单个列上有多个外键约束,我需要它来允许或者。谢谢!SQL Server 2008中单个列上的多个外键约束

+0

您可以在TableB.TableAID中使用NULL作为您应该使用TableB.ID的指示吗?这意味着你想要粘在那里的TableB.ID将会是已经在记录中的那个,这可能不是这种情况。 – DKnight 2011-04-12 15:02:42

回答

5

这是一个坏设计的明显迹象。你永远不需要这样做,如果你这样做,那么你需要重新考虑你的设计。

您不能使字段与两个不同的FK关联。

+0

是的,我只能对这些表添加约束,我不能改变设计表格或删除任何约束。 :( – 2011-04-12 13:59:54