我如何在表上设置约束,以便只有一条记录的isDefault位字段设置为1
约束不是表范围,而是由FormID指定的每组行的一个默认值
使用唯一的筛选索引
在SQL Server 2008或更高版本上,您只需使用唯一的筛选索引
创建唯一索引IX\u TableName\u FormID\u isDefault
关于TableName(FormID)
其中isDefault=1
桌子在哪里
创建表TableName(
FormID INT不为空,
isDefault位不为空
)
例如,如果您尝试插入多个具有相同FormID和isDefault设置为1的行,则会出现以下错误:
无法在具有唯一性的对象“dbo.TableName”中插入重复的键行
索引“IX_TableName_FormID_isDefault”。重复的键值为(1)
资料来源:http://technet.microsoft.com/en-us/library/cc280372.aspx