Unique constraint that allows empty values in MySQL(在 MySQL 中允许空值的唯一约束)
问题描述
我有一个存储产品代码的字段.代码是唯一的,但有些产品根本没有代码.我无法发明代码,因为那些是提供者代码.
这种约束在 MySQL 中可行吗?
我是存储过程和触发器的菜鸟,所以如果解决方案涉及其中之一,请耐心等待.
更新:该列不是 Null.这就是我无法做到这一点的原因.
是的,您可以这样做.请参阅MySQL 参考(5.5 版).><块引用>
UNIQUE 索引创建了一个约束,使得索引中的所有值都必须是不同的.如果您尝试添加具有与现有行匹配的键值的新行,则会发生错误.对于所有引擎,UNIQUE 索引允许包含 NULL 的列有多个 NULL 值.
I have a field that stores product codes. The codes are unique, but some products simply doesn't have a code. I can't invent codes because those are providers codes.
Is this kind of constraint possible in MySQL?
I'm a noob with stored procedures and triggers, so if the solution involves one of these, please be patient.
Update: The column is NOT Null. That's why I was unable to do this.
Yes, you can do this. See the MySQL reference (version 5.5).
A UNIQUE index creates a constraint such that all values in the index must be distinct. An error occurs if you try to add a new row with a key value that matches an existing row. For all engines, a UNIQUE index allows multiple NULL values for columns that can contain NULL.
这篇关于在 MySQL 中允许空值的唯一约束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 MySQL 中允许空值的唯一约束


- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- SQL 临时表问题 2022-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 更改自动增量起始编号? 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01