我截断了我的表然后添加了唯一的:
ALTER TABLE mytable
ADD UNIQUE (id,loan_type,term,oldestyear)
插入数据后,它仍然重复,我做错了什么?
id |loan_type |apr |term|oldestyear|valid_period
---------|---------------|------|----|----------|---------------------------------
8333|auto new |0.0249| 36| |["2019-02-26 22:48:07.305304-08",
8333|auto new |0.0249| 36| |["2019-02-26 22:47:38.421624-08",
我希望id,loan_type,term和&year year是一个独特的集合。有时候,年龄将为空,但尽管如此,它仍然是一个独特的集合。
如果您可以找到至少一个无效(非空)值,则可以在表达式上创建唯一索引,将NULL
值转换为非空值,以便比较将它们视为相同:
create unique index on mytable (id,loan_type,term,coalesce(oldestyear, -42));