我在执行正常的 SELECT 语句时遇到问题(也就是说,不是它们设计用于执行的“搜索”——我没有使用 MATCH)。我想要做的是在表中查询 INTEGER 列的所有行。但是,SELECT 语句始终不返回任何行。我已经使用 SQLite 浏览器检查了数据库,查询应该有效。在这里:
这是 MAKE TABLE 语句:
CREATE VIRTUAL TABLE FTS_journal USING fts3(journal_id INTEGER, journal_text_col TEXT)
这是选择:
SELECT journal_id FROM FTS_journal
这是否与我在虚拟表上运行“正常”查询有关?我真的想不出任何其他原因
编辑:我使用的是 Android 版本的 SQLite,也就是 SQLite3。我知道它正确支持 FTS...
如果我能提供的任何进一步信息有帮助,请告诉我,我会发布。
最佳答案
你写的应该有用。您是否 100% 肯定您实际上已经在表格中插入了一些东西?您运行过插入语句吗?如果运行过,您确定它们成功了吗?
我测试了您的语句,先运行创建语句,然后运行以下语句:
插入 FTS_journal (journal_id, journal_text_col) values (1, 'test');
... 然后是您的 select 语句,sqlite 返回 1 行(journal_id,值 1),就像它应该的那样。
关于android - SQLite FTS 表上的普通 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7380366/