嗨,我将我的sql语句修改为
CREATE VIRTUAL TABLE [v_fts] USING fts4
(
[title],
tokenize=icu
)"
但是当我尝试插入数据时,我收到错误SQL logic error or missing database
修改
我使用 - DSQLITE_ENABLE_ICU
选项。
如何加载icu?
我在这里用makefile上传了shell代码
http://www.2shared.com/file/8hxA3KIn/sqlite.html
all: release32
CFLAGS = -fPIC -O6 -DNO_TCL -DSQLITE_THREADSAFE=1 -DHAVE_USLEEP=1 -DSQLITE_ENABLE_FTS3=1 -O3 -Os -I. -DSQLITE_ENABLE_ICU `/home/vivek/downloads/icu/des32/bin/icu-config --cppflags`
export LDFLAGS += -Wl,--start-group
export LDFLAGS += /home/vivek/downloads/icu/des32/lib/libsicui18n.a
export LDFLAGS += /home/vivek/downloads/icu/des32/lib/libsicuuc.a
export LDFLAGS += /home/vivek/downloads/icu/des32/lib/libsicudata.a
export LDFLAGS += -lcrypt -ldl -lz -lrt -lssl -lpthread
export LDFLAGS += -Wl,--end-group
OBJ=sqlite3.o\
shell.o\
icu.o\
release32: $(OBJ)
g++34 -fno-exceptions -fno-operator-names ${CFLAGS} -DNDEBUG -m32 -static $(OBJ) $(LDFLAGS) -o s.out
%.o:%.c
gcc34 ${CFLAGS} -DNDEBUG -m32 -c $<
我的查询是
CREATE VIRTUAL TABLE [vivek_fts] USING fts4 ( [title],tokenize=icu en_US)
insert into vivek_fts values("a");
答案 0 :(得分:1)
根据the full text search documentation,您应该使用tokenize=icu en_US
(例如,指定ICU区域设置标识符)。
此外,您应该加载ICU。