【问题标题】:MySQL Unique and NULL Index AdviceMySQL 唯一和 NULL 索引建议
【发布时间】:2017-07-17 12:06:13
【问题描述】:

我有一个我无法弄清楚的唯一索引要求。

我的表中有三列

Code (VarChar)  |  User(Int - Nullable)  |  Item(Int - Nullable)  

我在Code AND UserCode AND Item 上设置了一个唯一索引

这意味着如果itemNULL,我们在任何时候都不能有多个代码引用相同的user,如果user 是,我们不能有多个代码引用相同的item NULL

但我还有第三种情况……

我希望能够拥有与用户 AND 和项目相关的代码,该代码可能已经存在于同一项目或用户中。但我不能这样做,因为它会与上述索引之一发生冲突。

因此,鉴于上述唯一索引,我还希望能够插入这些记录

Code (VarChar)  |  User(Int - Nullable)  |  Item(Int - Nullable)  
   12345678     |        NULL            |          1  
   12345678     |        1               |         NULL
   12345678     |        2               |          1     ** This row clashes on ITEM **

这可能吗,还是我又在做蠢事了!?

【问题讨论】:

    标签: mysql indexing database-design unique-constraint unique-index


    【解决方案1】:

    对 - 答案似乎只是“不要使用NULL

    因此,如果我在不需要 ItemUser 数据的情况下使用 0 而不是 NULL,我可以拥有我需要的唯一约束!

    【讨论】:

      猜你喜欢
      • 2012-07-03
      • 2013-03-12
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2010-09-16
      • 2010-09-28
      相关资源
      最近更新 更多