新菜鸟请问各位大佬 MySQL 能不能字段等于某个值才建立唯一索引
資深大佬 : 353943780 23
例如:
a
/ b
/ c
都是字段名
(a = 1) + b + c 是唯一索引
(a != 1) + b + c 可重复
大佬有話說 (6)
例如:
a
/ b
/ c
都是字段名
(a = 1) + b + c 是唯一索引
(a != 1) + b + c 可重复
create unique index unique_b_c_if_a_is_one on partial_index(b,c) where a=’1′;
然后再创建一个索引
create index unique_b_c_if_a_not_one on partial_index(b,c) where a!=’1′;
就可以满足你的需求。但是据我所知 postgres ( https://www.postgresql.org/docs/9.3/indexes-unique.html ) 和 SQL Server 支持这种索引,mysql 目前应该不支持。
不知道有没有其他方案哈。
拆一下表吧。或者另外加逻辑去重。
CREATE INDEX xxx_index ON table1(col1) WHERE col2 is not true;
mysql 我用的不多,不太清楚有没有这种东西,你可以顺着这个思路查一下