创建外键而不检查现有数据

发布于 2024-09-14 02:57:53 字数 234 浏览 2 评论 0原文

这是一个由 2 部分组成的问题。

问题 1: 我正在尝试在需要关闭“创建或重新启用时检查现有数据”的表上创建外键。我知道有一个视觉选项,但我正在寻找一种以编程方式完成此操作的方法。有办法做到这一点吗?

问题 2:我有一个代码表和两个需要引用该代码表的表 A 和 B。我希望从关系表中引用它们,但我希望能够使用同一列。我可以有 2 个外键指向同一列吗?

This is a 2 part question.

Question 1: I am trying to create a foreign key on a table where I need to turn off the "Check Existing Data on Creation or Re-Enabling". I know theres an option visually but I'm looking for a way to do it programmatically. Is there anyway to do this?

Question 2: I have a code table and two tables A and B that need to reference that code table. I want to have these both referenced from a relationship table but I want to able to use the same column. Can I have 2 foreign keys pointing to the same column?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鹿港巷口少年归 2024-09-21 02:57:53

是的,您可以让父表中的同一列引用多个表中的不同列。

我不建议关闭创建时检查 FK。如果你现在有坏数据,你需要立即修复它。否则,当有人第一次编辑其中一条记录时,FK 检查将失败。

从在线书籍中了解为什么使用 nocheck 是一个坏主意:

如果您不想验证新的CHECK
或外键约束
现有数据,使用WITH NOCHECK。我们做
不建议这样做,除非
罕见病例。新的约束将是
在所有后续数据更新中进行评估。
任何违反约束的情况

添加约束可能会导致未来
如果更新行则更新失败
数据不符合
约束。

Yes you can have the same column inthe parent table refer to differnt columns in multiple tables.

I do not recommend turning off checking FK on creation. If you have bad data now, you need to fix it now. Otherwise the first time someone edits one of those records it will fail the FK check then.

From Books online as to why it is a bad idea to use nocheck:

If you do not want to verify new CHECK
or FOREIGN KEY constraints against
existing data, use WITH NOCHECK. We do
not recommend doing this, except in
rare cases. The new constraint will be
evaluated in all later data updates.
Any constraint violations that are
suppressed by WITH NOCHECK when the
constraint is added may cause future
updates to fail if they update rows
with data that does not comply with
the constraint.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文