首页 > 数据库 > mysql教程 > 多个 NULL 值可以在具有唯一约束的 MySQL 列中共存吗?

多个 NULL 值可以在具有唯一约束的 MySQL 列中共存吗?

Barbara Streisand
发布: 2024-12-07 17:36:17
原创
425 人浏览过

Can Multiple NULL Values Coexist in a MySQL Column with a UNIQUE Constraint?

MySQL 中的唯一约束和空值

人们可能会遇到需要在列上强制唯一性同时允许空值的情况。在 MySQL 中,这种行为在某些情况下是受支持的。

让我们考虑一个名为“email”的列,它应该遵守唯一性规则,但也可以容纳空值。多个空电子邮件可以在这样的设置中共存吗?

是的,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
登录后复制

如图所示,MySQL 中的唯一列中可以存在多个空值。此行为是 MySQL 所独有的,可能不适用于其他数据库管理系统。例如,SQL Server 2005 及更早版本仅允许具有唯一约束的列中存在单个 NULL 值。

以上是多个 NULL 值可以在具有唯一约束的 MySQL 列中共存吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板