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

use*_*356 2 database sqlite

我无法找到如何查明我的sqlite3 db是否为fts(最好是四个)启用.

我在使用该MATCH命令时遇到了麻烦,我猜这是因为db没有FTS功能.

谷歌主要返回关于此的mysql信息.

CL.*_*CL. 7

您可以调用sqlite3_compileoption_get()C函数,或者查看PRAGMA compile_optionssqlite_compileoption_get()SQL函数的输出:

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
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于动态加载的扩展.