在sqlite中已存在的数据上创建唯一索引

在sqlite中已存在的数据上创建唯一索引,sqlite,indexing,Sqlite,Indexing,我正在尝试向sqlite中的表添加唯一索引。该表已经有数据,我用于索引的字段有重复的值。我能添加索引吗?是否将创建部分索引?它将失败: $ sqlite3 SQLite version 3.8.5 2014-06-02 21:00:34 sqlite> create table t(x); sqlite> insert into t values (1), (1); sqlite> create unique index ui on t(x); Error: UNIQUE c

我正在尝试向sqlite中的表添加唯一索引。该表已经有数据,我用于索引的字段有重复的值。我能添加索引吗?是否将创建部分索引?

它将失败:

$ sqlite3 
SQLite version 3.8.5 2014-06-02 21:00:34
sqlite> create table t(x);
sqlite> insert into t values (1), (1);
sqlite> create unique index ui on t(x);
Error: UNIQUE constraint failed: t.x

实际上,我在SQLite Manager for firefox中尝试了这一点,结果如下。添加索引不会返回任何错误消息,但也不允许重复。插入副本不会返回错误消息,但也不会插入副本。在拥有重复数据后创建索引不会返回任何错误消息,但仍然可以插入重复数据。此外,在文档中的任何地方都没有提到创建索引命令的这种特殊情况。