Подстановка переменных для поиска fts в sqlite3 с python3

Я использую расширение fts5 sqlite3 для поиска в моей базе данных SQLite в python3. Я знаю, как использовать fts5 с жестко закодированным запросом:

SELECT * FROM myTable WHERE myTable MATCH 'columnName : "hardcodedstring"'

Но я не могу понять, как подставить переменную в этот поиск. Я попробовал ? синтаксис, который обычно можно использовать для замены переменных в операторе SELECT в python для SQLite, но это, похоже, не работает.

Что мне нужно, так это код, который позволит мне заменить запрос, содержащийся в переменной, в оператор SELECT с помощью fts search, как показано выше.

Отличие от другого вопроса: этот вопрос отличается тем, что я использую расширение fts5, а НЕ LIKE оговорка; предложение LIKE совершенно РАЗНОЕ. Синтаксис знака вопроса, кажется, не работает для fts, как для предложения LIKE.

1 ответ

Подстановка переменных в такое утверждение может быть легко выполнена с помощью модуля peewee orm. Эта ссылка содержит подробное объяснение: http://charlesleifer.com/blog/using-sqlite-full-text-search-with-python/ Это ссылка на документы модуля: http://docs.peewee-orm.com/

Другие вопросы по тегам