SQLite FTS 表上的正常 SELECT
Posted
技术标签:
【中文标题】SQLite FTS 表上的正常 SELECT【英文标题】:Normal SELECT on an SQLite FTS Table 【发布时间】:2011-09-11 18:29:05 【问题描述】:我在执行正常的 SELECT 语句时遇到问题(也就是说,不是他们设计的“搜索”——我没有使用 MATCH)。我想要做的是在表中查询 INTEGER 列的所有行。但是,SELECT 语句始终不返回任何行。我用 SQLite 浏览器检查了数据库,查询应该可以工作。这里是:
这是 MAKE TABLE 语句:
CREATE VIRTUAL TABLE FTS_journal USING fts3(journal_id INTEGER, journal_text_col TEXT)
这是 SELECT:
SELECT journal_id FROM FTS_journal
这与我在虚拟表上运行“正常”查询有关吗?我真的想不出任何其他原因
编辑:我使用的是 android 版本的 SQLite,即 SQLite3。我知道它正确支持 FTS...
如果我能提供的任何进一步的信息对我有帮助,请告诉我,我会发布。
【问题讨论】:
确认实际的 CREATE TABLE 语句完全 与您在上面给出的相匹配。例如。 INTEGER 不是 INT。 【参考方案1】:你写的应该可以。您是否 100% 肯定您实际上已经在表格中插入了一些东西?您是否运行过插入语句,如果是,您确定它们成功了吗?
我测试了你的语句,运行 create 语句,然后是以下语句:
插入 FTS_journal (journal_id, journal_text_col) 值 (1, 'test');
... 然后您的 select 语句和 sqlite 返回 1 行(journal_id,值 1),就像它应该的那样。
【讨论】:
谢谢! - 问题实际上出在 java 领域,因为我在光标上犯了一个愚蠢的错误 你能解释一下是什么问题吗?以上是关于SQLite FTS 表上的正常 SELECT的主要内容,如果未能解决你的问题,请参考以下文章