【问题标题】:Multiple foreign key constraints on a single column in SQL Server 2008SQL Server 2008 中单个列的多个外键约束
【发布时间】:2011-08-03 22:17:03
【问题描述】:

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

【问题讨论】:

  • 您能否在 TableB.TableAID 中使用 NULL 作为您应该使用 TableB.ID 的指示?这意味着您想要插入的 TableB.ID 将是已经记录在案的那个,但可能并非如此......

标签: sql tsql sql-server-2008


【解决方案1】:

这是一个糟糕设计的明显标志。你永远不需要这样做,如果你这样做了,那么你需要重新考虑你的设计。

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

【讨论】:

  • 是的,我只能为这些表添加约束,不能更改表的设计或删除任何约束。 :(
猜你喜欢
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多