MySQL 中具有空值的唯一约束
考虑这样一个场景,您有一个存储产品代码的字段必须是唯一的,但某些产品缺乏指定的提供商代码。那么问题来了,MySQL 中是否可以定义一个适应这种场景的唯一约束?
答案:
是的,创建一个唯一约束是可行的MySQL 中允许空值。正如 MySQL 参考手册(版本 5.5)中所述:
“UNIQUE 索引创建一个约束,使得索引中的所有值都必须不同。如果尝试使用键添加新行,则会发生错误对于所有引擎,UNIQUE 索引允许可以包含 NULL 的列有多个 NULL 值。”
因此,对于允许 NULL 值的列,尽管其 NOT NULL 属性,定义唯一约束是完全有效的,不会导致冲突。这允许某些产品不具有指定代码的情况,使它们能够插入数据库而不违反唯一性要求。
以上是MySQL 的 UNIQUE 约束可以处理列中的空值吗?的详细内容。更多信息请关注PHP中文网其他相关文章!