相关疑难解决方法(0)

如何创建一个唯一的索引,只有某些值需要是唯一的?

我有一个存储在表中的代码列表,有些代码应该是唯一的,其他代码可以重复。这些代码应该是唯一范围到另一个字段product_id.

假设每个代码11只允许一次product_id,并且允许其他代码重复,该表将如下所示:

product_id     code
1              11   # Needs to be unique for product_id 1
1              222
1              222
1              333
2              11   # Needs to be unique for product_id 2
2              222
2              444
Run Code Online (Sandbox Code Playgroud)

使用 MySQL,我利用了一个事实,即您可以在唯一索引中拥有多个 NULL 值,因此通过添加一个“决胜局”(?) 字段ucode,我能够一起破解一个解决方案:

product_id  code   ucode
1           11     1    # Code 11 needed to be unique, so 1 for ucode
1           222    NULL # Code 222 can be repeated, so NULL for ucode
1           222    NULL …
Run Code Online (Sandbox Code Playgroud)

mysql unique-constraint

3
推荐指数
1
解决办法
1988
查看次数

标签 统计

mysql ×1

unique-constraint ×1