创建外键而不检查现有数据
这是一个由 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,您可以让父表中的同一列引用多个表中的不同列。
我不建议关闭创建时检查 FK。如果你现在有坏数据,你需要立即修复它。否则,当有人第一次编辑其中一条记录时,FK 检查将失败。
从在线书籍中了解为什么使用 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: