Я пробую Full-text Search
в SQLite
, и у меня возникла проблема с таблицами FTS5
.
После этого руководства Я создал несколько виртуальныхтаблицы, например:
CREATE VIRTUAL TABLE IF NOT EXISTS search_text_table USING fts5 (field_a unindexed, field_b unindexed, name, description, summary);
Затем я могу вставить некоторые данные для выполнения текстового поиска.
Но когда я хочу обновить или удалить строку в таблице, я делаю это:
connection.execute("DELETE FROM search_text_table WHERE field_b = ?", [id])
connection.commit()
или
connection.execute("UPDATE search_text_table SET field_a = ?, name= ?, description = ?, summary = ? WHERE field_b = ?", [value_1, value_2, value_3, value_4, value_5])
connection.commit()
Они выполняются, но строкине влияетНо если я захожу в SQLite Studio и в редакторе SQL я набираю то же самое предложение с теми же значениями, я получаю результат, и строки обновляются или удаляются.
Что происходит?
С уважением.
--- EDIT ---
Решение состоит в том, чтобы использовать обычные DELETE или UPDATE, как указано в 6-й строке документации. С первой попытки я попытался с ними, но я получил некоторые ошибки, но после повторной попытки, как предложил Шон, ... теперь работает.
--- EDIT 2 ---
Изменено описание проблемы.