何时在 sqlite 上使用编译指示?
何时使用编译指示?
第一次创建数据库时或每次连接数据库时?
When the pragmas are used?
When the database is created for first time or in each connection to database?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这取决于所使用的编译指示。来自SQLite 权威指南,数据库配置:
或者,用您的问题的话来说:每次连接数据库时都使用临时表单,第一次创建数据库时使用永久表单。
pragma 文档 没有明确指定 pragma 是临时还是永久。然而,它通常会说类似的话
意思是
auto_vacuum
是一个永久的编译指示,或者意思是
cache_size
是一个临时的。因此,回答您的问题的最佳方法是仔细阅读特定编译指示的文档。或者,您可以研究 pragma 源代码(搜索
** PRAGMA [
,区分大小写)。this depends on the pragma being used. from The definitive guide to SQLite, Database Configuration:
or, in the words of your question: Temporary forms are used in each connection to database, permanent forms are used when the database is created for the first time.
the pragma documentation doesn't explicitly specify if a pragma is temporary or permanent. however, it usually says something like
meaning
auto_vacuum
is a permanent pragma, ormeaning
cache_size
is a temporary one.so your best bet to answer your question is to carefully read the documentation for your specific pragma. alternatively, you can study the pragma source code (search for
** PRAGMA [
, case sensitive).