在 SQL Server 2008 R2 中,我有一个包含 [Id][Name][bDefault] 的表。所有列都是 不可为空

是否有可能检查 bDefault 只能对 一个 记录为真?使它成为唯一索引是行不通的,因为只有最多 1 条记录为真,其余的都是假的。

最佳答案

使用过滤的唯一索引:

CREATE UNIQUE INDEX IX_... ON [Table](bDefault) WHERE bDefault = 1

关于SQL Server : check boolean can only occur once as true,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28720050/

10-12 03:38