首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android sqlite create index with where子句失败

android sqlite create index with where子句失败
EN

Stack Overflow用户
提问于 2013-12-01 01:06:06
回答 1查看 1.1K关注 0票数 3

理论上讲,简单的sql语句:

代码语言:javascript
复制
CREATE UNIQUE INDEX i1 ON MyTable (col1, col2) WHERE col3 IS NULL;

但是,在尝试执行该语句时,我得到:

代码语言:javascript
复制
android.database.sqlite.SQLiteException: near "WHERE": syntax error: , while compiling: CREATE UNIQUE INDEX 

为什么?有什么变通方法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-12-01 01:42:42

我还没有在android中使用过索引,但是在SQLite 3.8.0中出现了部分索引。

我认为大多数安卓设备(当然是4.3及更早的版本)都使用较早版本的SQLite。在终端仿真器或adb shell中,使用sqlite3 --version查看设备正在运行的SQLite版本。如果它是3.8.0之前的版本,那么它不支持部分索引,您将不得不取消WHERE子句。

实际上,无论如何你都应该放弃WHERE子句,因为当你发布应用程序时,许多用户将没有合适的sqlite版本来使用它。无论如何,这是没有必要的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20303076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档