尝试将唯一索引添加到SQLite表时,为什么会出现“索引列不唯一”错误?

时间:2013-12-13 21:29:15

标签: sqlite unique-index

尝试使用以下语法创建唯一索引时:

CREATE UNIQUE INDEX Table_Index ON Table (CharColumn, IntColumn)

为什么我收到错误:

indexed columns are not unique

2 个答案:

答案 0 :(得分:3)

您收到错误“索引列不唯一”,因为索引列不是唯一的,也就是说,有一些重复的记录。

使用这样的查询来找出哪些记录:

SELECT CharColumn,
       IntColumn,
       COUNT(*) AS Count
FROM MyTable
GROUP BY CharColumn,
         IntColumn
HAVING Count > 1

答案 1 :(得分:0)

如果您的表已经包含行,那么您可能有2行或更多行,其值在表唯一索引(CharColumn,IntColumn)中指示

e.g。  行CharColumn IntColumn 10 ABC 1 21 ABC 1

唯一索引意味着不超过1行应包含该值。