Mssql 中 UNIQUE KEY 约束的重复空值违规
duplicate null value violation on UNIQUE KEY constraint in Mssql
MS SQL 服务器不会忽略空值并将其视为违反 UNIQUE KEY 约束,但我知道 UNIQUE KEY 与接受空值的主键不同。
Violation of UNIQUE KEY constraint 'AK_UserName'. Cannot insert duplicate key in object 'dbo.users'. The duplicate key value is (<NULL>).
The statement has been terminated.
谁能帮我解决这个问题?
您可以像这样创建一个忽略空值的唯一索引
CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;
MS SQL 服务器不会忽略空值并将其视为违反 UNIQUE KEY 约束,但我知道 UNIQUE KEY 与接受空值的主键不同。
Violation of UNIQUE KEY constraint 'AK_UserName'. Cannot insert duplicate key in object 'dbo.users'. The duplicate key value is (<NULL>).
The statement has been terminated.
谁能帮我解决这个问题?
您可以像这样创建一个忽略空值的唯一索引
CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;