【发布时间】:2011-02-07 19:20:51
【问题描述】:
我正在使用 SQLite C 接口编写应用程序。因为我喜欢安全性,所以我使用准备好的语句来查询数据库。在一个这样的查询中,我使用 MATCH 关键字从虚拟数据库中选择行进行全文搜索。这是一个例子:
SELECT * FROM Emails
WHERE ( Subject LIKE ?001 OR ?001 IS NULL )
AND ( Author LIKE ?002 OR ?002 IS NULL )
AND ( Body MATCH ?003 OR ?003 IS NULL )
这允许用户单独或以任意组合输入任何术语(主题、作者或正文)以进行搜索。任何未输入的术语,我都会将 NULL 绑定到该参数。该语句的问题是您不能将 OR 关键字与 MATCH 关键字一起使用。如果不在 Body 列中搜索,我正在寻找可以与 MATCH 关键字一起使用的语句来返回所有行。有这样的说法吗?
【问题讨论】:
标签: sqlite full-text-search prepared-statement