SQLite3 fts3 AUTOINCREMENT не работает - PullRequest
4 голосов
/ 12 апреля 2011

Я пытаюсь создать виртуальную таблицу в sqlite3, используя fts3 и используя столбец в качестве автоинкремента, но при вставке значений столбец не заполняется.Код:

CREATE VIRTUAL TABLE contact
USING fts4(
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT);

При вставке: вставьте в контакт (имя) значения ('abc'), поле 'id' не увеличивается, а данные в таблице выглядят только
| abc

Не поддерживается автоинкремент в fts3 sqlite3?

С уважением,
Джон

Ответы [ 2 ]

3 голосов
/ 15 ноября 2011

Я нашел ответ на этот вопрос в другом вопросе здесь

Короткий ответ - использовать столбец «rowid» (Специальный столбец) для идентификаторов таблиц fts3. Не уверен, что вы можете ссылаться на столбец rowid, так как я этого не пробовал.

Надеюсь, это решит вашу проблему. :)

1 голос
/ 21 июня 2013

При создании виртуальной таблицы FTS он игнорирует все, кроме имен столбцов (например, автоинкремент, первичный ключ, уникальный и даже целое число). Все в таблице FTS просто текст. Он считывает эти ключевые слова без ошибок, но они являются просто «сладким синтаксисом» согласно документации.

http://www.sqlite.org/fts3.html

...