1

有问题请帮帮我。我的 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);

我从数据库中收到下​​一个错误:错误:'unknown tokenizer:icu'。我已经下载了 sqlite 的源代码,将 sqlite.c 添加到我的 xCode4 项目中,并将 #define SQLITE_ENABLE_FTS4 添加到 sqlite.c 文件中。但问题依然存在。我正在尝试在模拟器中执行此操作,这可能是原因吗?

请帮帮我。如何使用 xCode 4 在 iPhone 上处理 FTS4?我应该使用一些古老的魔法吗?:)

玩的很开心!

4

2 回答 2

2

SQLITE_ENABLE_ICU您还需要使用#defined重新编译 sqlite 库本身。

仅仅在 Xcode 中添加源文件和选项是不够的,因为 sqlite 库不会被重新创建。

请参阅ICU文档中的标记器。

于 2011-11-14T15:49:58.703 回答
0

我对这个功能不是很熟悉,但我知道它是 sqlite 的扩展,http ://www.sqlite.org/cvstrac/fileview?f=sqlite/ext/icu/README.txt - 听起来好像不是安装在这里。高温高压

于 2011-08-15T16:17:34.380 回答