Sqlite3:检查数据库是否启用了FTS?

时间:2015-11-21 08:50:09

标签: database sqlite

我无法找到如何查明我的sqlite3数据库是否已启用fts(最好是四个)。

我在使用MATCH命令时遇到问题,而我猜测它是因为数据库没有FTS功能。

Google主要会返回有关此内容的mysql信息。

1 个答案:

答案 0 :(得分:7)

您可以拨打sqlite3_compileoption_get() C function,或查看PRAGMA compile_optionssqlite_compileoption_get() SQL function的输出:

WITH opts(n, opt) AS (
  VALUES(0, NULL)
  UNION ALL
  SELECT n + 1,
         sqlite_compileoption_get(n)
  FROM opts
  WHERE sqlite_compileoption_get(n) IS NOT NULL
)
SELECT opt
FROM opts
WHERE opt LIKE '%FTS%';

ENABLE_FTS3
ENABLE_FTS4

这是does not work for dynamically loaded extensions