这是一个2部分问题。
问题1:我正在尝试在桌面上创建一个外键,我需要关闭“检查创建或重新启用时的现有数据”。我知道这是一个可视化的选项,但我正在寻找一种以编程方式进行的方法。反正有吗?
问题2:我有一个代码表和两个需要引用该代码表的表A和B.我希望从关系表中引用这些,但我希望能够使用相同的列。我可以将2个外键指向同一列吗?
答案 0 :(得分:10)
是的,您可以在父表中使用相同的列引用多个表中的不同列。
我不建议在创建时关闭检查FK。如果您现在有错误数据,则需要立即修复。否则,当有人第一次编辑其中一条记录时,它将无法通过FK检查。
从网上书籍到为什么使用nocheck是个坏主意:
如果您不想验证新的CHECK 或FOREIGN KEY约束 现有数据,使用WITH NOCHECK。我们的确是 不建议这样做,除了 罕见的情况。新约束将是 在所有后续数据更新中进行评估 任何约束违规都是 由WITH NOCHECK抑制时 添加约束可能会导致未来 如果更新行,则更新失败 数据不符合 约束。