我有一个使用 FTS3 的 SQLite3 数据库。它在 SQLite3 命令行工具中运行良好,但是当使用 C 库时(使用 wxSQLite3,但我猜这应该没有什么区别),它不适用于包含“-”字符的查询,例如 SELECT * From Table WHERE columnx MATCH 'text1 -text2'。但是,这在命令行版本上运行良好。
我不知道为什么它不起作用。我尝试过的所有其他 FTS 匹配条件都工作正常。
注意:我已将 wxWidgets 添加到标签而不是 wxSQLite3,因为我无法创建新标签
最佳答案
显然,您的数据库在标准/增强查询语法方面的配置不同;尝试WHERE columnx MATCH 'text1 NOT text2'
。
启用 enhanced query syntax ,使用 SQLITE_ENABLE_FTS3_PARENTHESIS 进行编译宏。
关于c++ - 使用 SQlite3 C 库进行全文搜索,字符 "-"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13132921/