Android sqlite создать индекс, где предложение не работает

Теоретически простая инструкция 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 

Зачем???? Есть ли обходной путь?

Я не использовал индексы в android, но он появляется в сводке изменений sqlite, что частичные индексы стали доступными в SQLite 3.8.0.

Я думаю, что большинство устройств Android (4.3 и ранее наверняка) используют более ранние версии SQLite. В эмуляторе терминала или оболочке adb используйте sqlite3 --version чтобы увидеть версию SQLite, на которой работает ваше устройство. Если это до 3.8.0, то оно не поддерживает частичные индексы, и вам придется отклонить предложение WHERE.

На самом деле, вы должны отклонить предложение WHERE в любом случае, так как многие пользователи не будут иметь подходящую версию sqlite для использования вашего приложения при его публикации. В любом случае это не обязательно.