2010-01-28 42 views
0

有没有方法可以确定发送到sqlite中的fts3表的MATCH查询是否有效?目前,我没有发现表达式是否无效,直到我尝试运行它,这使得它有点棘手。我想在用户尝试运行之前向用户报告语法无效。验证sqlite FTS(全文搜索)语法以及如何执行单个术语NOT搜索

我正在使用sqlite的C API。

此外,使用表达式“NOT”执行搜索将失败,并显示“SQLlite logic/database error”。谷歌搜索似乎表明,这样的查询是无效的。操作有没有正确的语法?我基本上试图找到不包含该术语的条目。或者我必须退回到使用LIKE并执行顺序扫描而不使用FTS?

回答

1

看起来像现在最简单的方法是创建一个没有行的单独FTS表,并针对它执行查询。它会立即生效,因为表中没有数据,并且如果查询语法不正确,将会报告错误。