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

发布于 2024-10-08 22:04:51 字数 83 浏览 3 评论 0原文

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

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

克里斯

With SQlite, how do you show current PRAGMA settings?

And when setting them, are they persistent, or do they need to be set with every query?

Chris

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

極樂鬼 2024-10-15 22:04:51

在最简单的形式中,只需使用语法 PRAGMA 执行 SQL 语句即可获取当前的 pragma 设置。例如,当使用 PDO 在 PHP 中进行调试时,您可以执行如下操作:

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

要设置值,请使用 PRAGMA; = <值>。但是,不会有返回值(因此不必费心获取任何东西)。

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

至于第二个问题,即命令是否持久,正如 turlando 所说,没有通用答案,因为这取决于发布哪条 PRAGMA 声明。只需检查sqlite pragma 文档即可确定。如果您不确定,只需使用上面的代码来检查您的设置是否仍然存在。

In the simplest form, current pragma settings can be obtained by simply executing an sql statement with the syntax PRAGMA <command>. For example, when debugging in PHP using PDO, you could do something like this:

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

To set the values, use PRAGMA <command> = <value>. There will be no return value, however (so don't bother with fetching anything).

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

As to the second question of whether the commands are persistent, as turlando said, there is no general answer as it is depends on which PRAGMA statement is being issued. Just check the sqlite pragma docs to be sure. And if you are uncertain, simply use the above code to check whether your settings have persisted.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文