开发者社区> 问答> 正文

MySQL是否会根据唯一性约束忽略空值?

我有一个电子邮件列,我想保持唯一性。但我也希望它接受空值。这样我的数据库可以有2个空电子邮件吗?

展开
收起
保持可爱mmm 2020-05-11 17:38:57 619 0
1 条回答
写回答
取消 提交回答
  • 是的,MySQL在具有唯一约束的列中允许多个NULL。

    CREATE TABLE table1 (x INT NULL UNIQUE); INSERT table1 VALUES (1); INSERT table1 VALUES (1); -- Duplicate entry '1' for key 'x' INSERT table1 VALUES (NULL); INSERT table1 VALUES (NULL); SELECT * FROM table1; 结果:

    x NULL NULL 1 并非对于所有数据库都是如此。例如,SQL Server 2005和更早版本仅在具有唯一约束的列中允许单个NULL值。来源:stack overflow

    2020-05-11 17:39:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像