【发布时间】:2019-09-12 22:56:39
【问题描述】:
我正在 SQL Server 中创建一个包含以下列的表:
ic_card_num,
employee_id,
active
如果只有一张卡处于活动状态,则 ic_card_num 和 active 的多个副本是可以的:
employee_id | ic_card_num | active
123 | 111 | false
235 | 111 | true
987 | 111 | false
我想避免这种情况:
employee_id | ic_card_num | active
123 | 111 | true
235 | 111 | true
987 | 111 | false
我正在使用 SQL Server,有没有办法确保我的表中不允许有多个活动的 id_card_num 记录?
【问题讨论】:
-
您可能需要一个触发器来检查条件并在损坏时回滚。
-
看起来更像是客户端逻辑?
标签: sql-server database-design unique-constraint