请帮我解决一个问题。我的 sqlite 数据库中有一个虚拟表:
`CREATE VIRTUAL TABLE tablename USING fts4(column1, column2, tokenize=icu ua_UA)`
当我尝试对该表进行 SQL 查询时,例如
const char *sql = "SELECT column2 FROM tablename WHERE tablename.column1 MATCH ?";
sqlite3_bind_text(statement, 1, [matchString UTF8String], -1, SQLITE_TRANSIENT);
我从数据库中收到下一个错误:错误:“未知标记器:icu”。 我已经下载了 sqlite 的源代码,将 sqlite.c 添加到 xCode4 中的项目中,并将 #define SQLITE_ENABLE_FTS4 添加到 sqlite.c 文件中。但问题仍然存在。 我正在尝试在模拟器中执行此操作,这可能是原因吗?
请帮帮我。如何使用 xCode 4 在 iPhone 上处理 FTS4?我应该使用一些古老的魔法吗? :)
祝你玩得开心!
最佳答案
您还需要使用 SQLITE_ENABLE_ICU
#define 重新编译 sqlite 库本身。
仅在 Xcode 中添加源文件和选项是不够的,因为不会重新创建 sqlite 库。
参见Tokenizers在 ICU 文档中。
关于iphone - 未知分词器 : icu in sqlite3 request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003122/