sql-server - 违反了对 null 的 UNIQUE KEY 约束

标签 sql-server

异常:

Violation of UNIQUE KEY constraint 'UQ__user_dat__AB6E61641273C1CD'. Cannot insert duplicate key in object 'dbo.user_data'.
The statement has been terminated.

AB6E61641273C1CD = 唯一且为 NULL 的电子邮件

My SQL 语句不会插入电子邮件值。所以我假设它将默认为 null (尽管我在创建表时从未编写过 default(null) 语句)。

有什么问题吗?该代码在 sqlite 中完美运行。

最佳答案

如果您运行的是 SQL 2008,您可以按照建议使用过滤索引 here .

create unique nonclustered index idx on dbo.DimCustomer(emailAddress)
where EmailAddress is not null;

关于sql-server - 违反了对 null 的 UNIQUE KEY 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2884911/

相关文章:

sql - GROUP BY 子句如何管理 NULL 值?

sql-server - MSSQL 触发器 - 在 INSERT 上更新新插入的记录

sql-server - 禁止 T-SQL 查询的 header 输出

SQL查询选择优化

sql-server - 由 CROSS APPLY 触发时的顺序 SQL 插入

sql - 从纬度和经度字段创建几何/地理字段 (SQL Server)

java - 如何将JSON数据插入到sql server而不转换为Java bean

sql-server - T-SQL 帮助获取每个表的行数、列数和大小

asp.net - 维护用户的最佳实践是什么? aspnet_Users 或新建用户表

SQL 查询 - 将查询中的日期格式更改为 DD/MM/YYYY