首页 > 解决方案 > 'unique' 约束的奇怪情况(可能的排除情况)| Postgres

问题描述

标签: sqlpostgresqlpostgresql-11

解决方案


可以使用过滤的唯一索引:

CREATE UNIQUE INDEX idx ON "user"
  (company_id,(CASE WHEN username LIKE '%-support' THEN 'support' ELSE username END)) 
WHERE is_Active = True;

db<>小提琴演示


推荐阅读