如何在一对列上设置索引以便将值绑定在一起?

发布于 2024-09-27 13:55:28 字数 225 浏览 7 评论 0原文

我有一个包含 id、external_id 和 Country_code 列的表。我希望数据库强制执行两条规则:

  • 每个外部 ID 只能在每个国家/地区代码中出现一次
  • 每个 ID 最多只能与一个非空外部 ID 一起出现,反之亦然。

第一条规则很简单 - 我向 external_id 和 Country_code 添加了一个唯一的多列索引。我如何让它强加第二个?

I have a table with id, external_id and country_code columns. I have two rules which I want the database to impose:

  • Each External ID can only appear once per country code
  • Each ID can only appear with at most one non-null External ID, and vice versa.

The first rule is easy enough - I add a unique multi-column index to external_id and country_code. How do I get it to impose the second?

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

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

发布评论

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

评论(2

_蜘蛛 2024-10-04 13:55:28

我不确定我是否完全理解第二个约束,但在这种情况下,与 INSERT 和 UPDATE 事件相关的触发器似乎可以解决您的问题。

I'm not sure I understand the second constraint exactly, but in this case it looks like a trigger tied to INSERT and UPDATE events would solve your problem.

猫七 2024-10-04 13:55:28

如果您说 externalid 只能链接到单个 id,那么听起来您的 externalid 也应该有一个唯一的索引。

It sounds almost like your externalid should have a unique index too, if your saying that an externalid can only link to a single id.

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