sql-server - Mssql 中 UNIQUE KEY 约束的重复空值违规

标签 sql-server database null unique-constraint

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.

谁能帮我解决这个问题?

最佳答案

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

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

关于sql-server - Mssql 中 UNIQUE KEY 约束的重复空值违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31947263/

相关文章:

sql - 仅当 SQL Server 中存在时才选择负值

sql-server - 为 Windows Azure 虚拟机打开端口

python - pyodbc连接字符串sql server身份验证

mysql - 想为mysql数据库设计国家、货币、时区表?

mysql - 排名排行榜 - MySQL

php - 如何使用数据库中的日期(包括时间)作为 php 表中隐藏字段的值

mysql 过滤零和

sql - 在 SQL Server 中验证数字的最佳方法

java - Hibernate:如何使用 HQL 设置 NULL 查询参数值?

懒惰的 Kotlin 抛出 NullPointerException