我使用多个列创建了sqlite-FTS4表,例如:
CREATE VIRTUAL TABLE [selection_fts] USING fts4 (tender_id, tender_orderName_clean, tender_fm, branch, lot_name_clean);
我尝试执行像
这样的代码$q = $db->query("SELECT * FROM selection_fts WHERE selection_fts MATCH (\"(tender_orderName_clean:двер* OR lot_name_clean:двер*) AND tender_fm:Министерство Иностранных Дел AND branch:на строительство\") limit 0,250");
$rows = $q->fetchAll(PDO::FETCH_ASSOC);
var_dump($rows);
die();
上面的代码返回0行,但在我的SQlite管理器中,我看到了一些结果。 你能解释一下我的错误吗?
答案 0 :(得分:1)
虽然这是一个老问题,但我遇到了同样的问题并发现(至少在我的情况下)数据库条目的确切MATCH没有返回任何结果。当我从MATCH字符串中取出不相关的部分时,我得到了结果。
可能是SQLite驱动程序中的错误,也许......