【发布时间】:2020-09-08 18:01:55
【问题描述】:
是否可以在 SQL 中生成唯一约束,允许单个用户 (user_id) 最多启用两个条目 (enabled)?一个例子如下
user_id | enabled
------------------
123 | true
123 | true
123 | false
456 | true
以上内容是有效的,但添加另一个 user_id = 123 和 enabled = true 会失败,因为会有三个条目。此外,添加 user_id = 123 和 enabled = false 将是有效的,因为该表仍将满足规则。
【问题讨论】:
-
不,唯一约束不能允许重复。你可能需要一个触发器。
-
明白。谢谢。
-
在考虑发布之前,请阅读您的教科书和/或手册并在谷歌上搜索任何错误消息或您的问题/问题/目标的许多清晰、简洁和准确的措辞,无论是否包含您的特定字符串/名称和站点:stackoverflow.com & 标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。
标签: sql postgresql database-design database-trigger unique-constraint