我有一个简单的 FTS4 查询:
SELECT * FROM addresses
WHERE addresses MATCH '(PLZ:12* OR Nummer:12*) AND (Ort:Berlin*)'
这个查询很好用SQLiteManager
(我得到了一些结果),但是当我用 FMDB 执行这个查询时,我没有得到结果(没有错误,但也没有结果)。
当我将此查询与 FMDB 一起使用时,它可以工作:
SELECT * FROM addresses
WHERE addresses MATCH 'Ort:Berlin* PLZ:12* OR Nummer:12*'
似乎 FMDB 的大括号有问题。牙套有替代品吗?
FMDB 中是否存在错误?我使用简单的标记器:
[db executeUpdate:@"CREATE VIRTUAL TABLE IF NOT EXISTS addresses
USING fts4(id, PLZ, Nummer, Ort, Strasse, tokenize=simple);"];