无法创建唯一索引 - 号称有重复的值,但它不会
问题描述:
我试图创建代码字段唯一索引:无法创建唯一索引 - 号称有重复的值,但它不会
$ CREATE UNIQUE INDEX "one_code_per_person" on "core_person"("code") WHERE "code" IS NOT NULL;
ERROR: could not create unique index "one_code_per_person"
DETAIL: Table contains duplicated values.
它说有重复的值,但:
$ select code, count(*) from core_person group by code having count(*)>2;
code | count
-----------+-------
(0 rows)
- 这证明没有。
WTF?
答
此:
HAVING COUNT(*) > 2
...意味着需要有3+重复。您要使用:
HAVING COUNT(*) > 1
...查找带有2个重复项的记录。
+0
我真的很愚蠢是不可思议的 - 谢谢:) – michuk 2011-01-18 21:22:52
其实count(*)> 1是你需要测试的条件。 – 2011-01-18 21:14:05