使用SQLite,如何显示当前PRAGMA设置?

16

如何显示当前SQLite PRAGMA设置?

在设置它们时,它们是持久的还是需要在每个查询中设置?

Chris


(注:PRAGMA是SQLite中用于控制不同参数和配置选项的关键字)
1个回答

11

简单来说,可以通过执行具有以下语法的sql语句PRAGMA <command>来获取当前的pragma设置。例如,在使用PDO调试PHP时,您可以执行以下操作:

$db = new PDO("sqlite: myDb.sqlite");
$synchronous = $db->query("PRAGMA synchronous")->fetchColumn();

要设置值,请使用PRAGMA <command> = <value>。不过,不会返回任何值(因此不需要进行fetch操作)。

$db->query("PRAGMA synchronous = OFF");

关于第二个问题,即命令是否持久化,像turlando所说的那样,并没有通用的答案,这取决于发出了哪个PRAGMA语句。只需查看sqlite pragma文档以确保。如果您不确定,只需使用上述代码检查您的设置是否已持久化。


如果您想知道外键是否开启,查询语句是 PRAGMA foreign_keys。JavaScript/JS/松散的TypeScript/TS版本 https://jsfiddle.net/7qvpchg2/,我知道这与主题无关,但我在寻找JS解决方案时发现了这个答案,它显示了无事务和通过事务获取。 - jave.web

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接