我需要在表上使用Index或Constraint进行唯一性检查,但只有在布尔字段的值为true时才会发生这种情况。如果它是假的,那么重复的行就没问题了。我不认为这可以通过mysql中的约束或索引来实现,那么还有其他可能的解决方案来解决这个问题吗?
答案 0 :(得分:3)
如果你可以稍微改变字段的定义为" 1" for" true"和" NULL"如果为false,则可以在两列上使用唯一索引:
create unique index idx_table_col1_col2 on table(col1, col2)
NULL
值可以在唯一索引中重复。
或者,您必须使用触发器来强制执行此条件。