理论上讲,简单的sql语句:
CREATE UNIQUE INDEX i1 ON MyTable (col1, col2) WHERE col3 IS NULL;但是,在尝试执行该语句时,我得到:
android.database.sqlite.SQLiteException: near "WHERE": syntax error: , while compiling: CREATE UNIQUE INDEX 为什么?有什么变通方法吗?
发布于 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版本来使用它。无论如何,这是没有必要的。
https://stackoverflow.com/questions/20303076
复制相似问题