- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张 table ,类似于
FieldsOnForms(
FieldID int (FK_Fields)
FormID int (FK_Forms)
isDeleted bit
)
该对 (FieldID,FormID) 应该是唯一的,但前提是该行未被删除 (isDeleted=0)。
是否可以在 SQLServer 2008 中定义这样的约束? (不使用触发器)
附注将 (FieldID、FormID、isDeleted) 设置为唯一会增加将一行标记为已删除的可能性,但我希望有机会将 n 行(每个 FieldID、FormID)设置为 isDeleted = 1,并且只有一个已删除 = 0
最佳答案
您可以使用 SQL Server 2008 filtered indexes 拥有唯一的索引功能,或者您可以对 View 应用 UNIQUE 索引(穷人的过滤索引,适用于早期版本),但您不能拥有您所描述的 UNIQUE 约束。
过滤索引的示例:
CREATE UNIQUE NONCLUSTERED INDEX IX_FieldsOnForms_NonDeletedUnique ON FieldsOnForms (FieldID,FormID) WHERE isDeleted=0
关于sql - 由位列控制的 UNIQUE 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3997837/
我正在查询数据库,并且需要合并 2 位列(对于本示例,如果其中一个为 true,则该列必须为 true)。 类似于:选择 col1 ||来自 myTable 的 col2 实现这一目标的最简单方法是什
我有一个 ASP .NET Core 网络应用程序,当我创建项目时,身份验证是使用个人用户帐户选项自动设置的。用户帐户/角色的数据库表也是自动创建的。 我创建了自己的继承自 IdentityUser
我正在使用 Zend Framework 1.11.4 和 Zend_Db。问题是,我有一个性别列,其值为 0 或 1(BIT(1)),当我设置为 false 时,插入没问题,但是当我设置为 true
我正在尝试将数据从 SQL Server 导出到平面文件。 数据包括一个位列 0/1,我需要它,但它被导出为 bool 值 TRUE/FALSE,这导致 ETL 批量插入失败。 我尝试将数据映射更改为
我是一名优秀的程序员,十分优秀!