为什么我在尝试将唯一索引添加到 SQLite 表时收到"indexed columns are not unique"错误?



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

CREATE UNIQUE INDEX Table_Index ON Table (CharColumn, IntColumn)

为什么我收到错误:

indexed columns are not unique

您会得到错误"indexed columns not unique",因为索引列不是唯一的,也就是说,存在一些重复的记录。

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

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

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

例如。行CharColumn IntColumn10 ABC 121 ABC 1

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

最新更新