我有一种情况,我需要对一组列强制执行唯一约束,但只对列的一个值.
所以例如我有一个像Table(ID,Name,RecordStatus)这样的表.
RecordStatus只能有一个值1或2(活动或删除),我只想在RecordStatus = 1时创建一个唯一约束(ID,RecordStatus),因为我不关心是否有多个已删除的记录具有相同的ID.
除了编写触发器,我可以这样做吗?
我正在使用SQL Server 2005.
抱歉,可能是菜鸟问题,但我找不到答案。
CREATE TABLE SomeTable
(
Id DECIMAL NOT NULL,
UserIdentifier NVARCHAR(100) NULL,
PRIMARY KEY (Id),
????
)
Run Code Online (Sandbox Code Playgroud)
如何在 CREATE TABLE 中的 UserIdentifier 列上添加允许 Null 的唯一键约束?
我知道在 CREATE TABLE 之外你可以说 ... WHERE UserIdentifier IS NOT NULL,但是在里面呢?
谢谢!