【问题标题】:MySQL Unique Index with condition带条件的 MySQL 唯一索引
【发布时间】:2015-04-16 10:57:21
【问题描述】:

我需要在表上使用索引或约束进行唯一性检查,但这只有在布尔字段的值为 true 时才会发生。如果它是错误的,那么存在重复行就可以了。我认为mysql中的约束或索引是不可能的,那么有没有其他可能的解决方案来解决这个问题?

【问题讨论】:

    标签: mysql indexing constraints unique conditional-statements


    【解决方案1】:

    如果您可以将字段的定义稍微更改为“1”代表“真”,“NULL”代表假,那么您可以在两列上使用唯一索引:

    create unique index idx_table_col1_col2 on table(col1, col2)
    

    NULL 值可以在唯一索引中重复。

    或者,您必须使用触发器来强制执行此条件。

    【讨论】:

      猜你喜欢
      • 2023-02-21
      • 1970-01-01
      • 2010-09-28
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多