SQL Server:check boolean只能出现一次为true

TMN*_*ear 3 sql sql-server sql-server-2008-r2

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

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

Jer*_*ert 9

使用过滤的唯一索引:

CREATE UNIQUE INDEX IX_... ON [Table](bDefault) WHERE bDefault = 1
Run Code Online (Sandbox Code Playgroud)