Mssql中对UNIQUE KEY约束重复空值冲突 [英] duplicate null value violation on UNIQUE KEY constraint in Mssql

查看:491
本文介绍了Mssql中对UNIQUE KEY约束重复空值冲突的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

MS SQL Server不会忽略空值并将其视为对UNIQUE KEY约束的违反,但是我知道的是UNIQUE KEY与接受空值的主键不同。

MS SQL Server does not ignore the null value and considers it as violation for the UNIQUE KEY constraint but what I know is that the UNIQUE KEY differ from the primary key where it accepts the null value.

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.

有人可以帮我解决这个问题吗?

Can anyone help me to solve this problem?

推荐答案

您可以创建一个忽略这样的空值的唯一索引

you can create a unique index that ignores null values like this

CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;

这篇关于Mssql中对UNIQUE KEY约束重复空值冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆