2010-01-28 34 views
0

有沒有方法可以確定發送到sqlite中的fts3表的MATCH查詢是否有效?目前,我沒有發現表達式是否無效,直到我嘗試運行它,這使得它有點棘手。我想在用戶嘗試運行之前向用戶報告語法無效。驗證sqlite FTS(全文搜索)語法以及如何執行單個術語NOT搜索

我正在使用sqlite的C API。

此外,使用表達式「NOT」執行搜索將失敗,並顯示「SQLlite logic/database error」。谷歌搜索似乎表明,這樣的查詢是無效的。操作有沒有正確的語法?我基本上試圖找到不包含該術語的條目。或者我必須退回到使用LIKE並執行順序掃描而不使用FTS?

回答

1

看起來像現在最簡單的方法是創建一個沒有行的單獨FTS表,並針對它執行查詢。它會立即生效,因爲表中沒有數據,並且如果查詢語法不正確,將會報告錯誤。