无法在SQLite FTS5虚拟表上使用匹配:无法在请求的上下文中使用函数MATCH

时间:2016-09-17 19:31:08

标签: sqlite

在SQLite 3.13.0中尝试使用FTS5时,一个简单的测试失败。我做错了什么?

SQLite version 3.13.0 2016-05-18 10:57:30
CREATE VIRTUAL TABLE testfts USING FTS5(test);
INSERT INTO testfts VALUES("some test string");
SELECT * FROM testfts WHERE test MATCH 'test';
Error: unable to use function MATCH in the requested context

1 个答案:

答案 0 :(得分:12)

请改为尝试:

SELECT * FROM testfts WHERE testfts MATCH 'test';

SELECT * FROM testfts WHERE testfts MATCH 'test:test';

第一个将搜索表testfts的所有列以查找字符串test。第二个将仅将搜索限制为列test(这是查询字符串中test:前缀的作用)。这两个在这里是等价的,因为只有一列。