在 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/