在某业务表中对 a,b,c,d 四个字段做了唯一性约束,如下
CONSTRAINT "hello_uinque" UNIQUE ("a", "b", "c", "d"),
但是经过一段时间的运行,出现了如下数据
| id | a | b | c | d |
|---|---|---|---|---|
| 1 | z | z | z | z |
| 2 | z | z | z | z |
即违反了唯一性约束,(在 Reindex 的时候发现的),其中 abcd 字段都不存在 null
做了一些尝试:
- 手动插入,确实显示受约束影响无法插入
- 手动重建约束 ==> 失败显示有重复数据
- 对数据进行 update
UPDATE 'hello' set a="z",b="z",c="z",d="z" where id=1
执行上述 sql ,第一次成功,第二次会报约束错误,第三次成功......循环往复
UPDATE 'hello' set a="z",b="z",c="z",d="z" where id=2
执行上述 sql ,第一次约束错误,第二次约束错误,第三次约束错误 ......
已经不知该如何排查了,求教