在 SQL Server 2008 R2 中,我有一个包含 [Id]
、[Name]
和 [bDefault]
的表。所有列不可为空。
是否可以检查 bDefault
只能对 一个 记录为真?将其设为唯一索引是行不通的,因为只有最多 1 条记录为真,其余均为假。
最佳答案
使用过滤的唯一索引:
CREATE UNIQUE INDEX IX_... ON [Table](bDefault) WHERE bDefault = 1
关于SQL 服务器 : check boolean can only occur once as true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28720050/