MS SQL Server不会忽略空值并将其视为对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.
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:16)
您可以创建一个忽略空值的唯一索引,例如
CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;