不在运算符中不使用唯一索引

时间:2016-09-21 14:08:12

标签: android sqlite sqliteopenhelper

在我的android应用程序中,我试图在我的表中升级时创建唯一索引,但我想排除一些以前创建的重复ID,所以我创建了这样的SQL查询

CREATE UNIQUE INDEX indexname ON tblName(formid, formno) WHERE ID NOT IN (36, 37)

但它给了我错误

09-21 19:15:51.378: W/System.err(31454): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=2, data=Intent { (has extras) }} to activity {a.b.c/a.b.c.MainActivity}: android.database.sqlite.SQLiteException: near "WHERE": syntax error (code 1): , while compiling: CREATE UNIQUE INDEX indexname ON tblName(formid, formno) WHERE ID NOT IN (36, 37)

id的数据类型是整数。

1 个答案:

答案 0 :(得分:0)

自SQLite Partial indexes起支持

3.8.0

仅在Android API级别21(Lollipop)或更高版本中为available