【问题标题】:PRAGMA journal_mode=OFF is not working.why?PRAGMA journal_mode=OFF 不起作用。为什么?
【发布时间】:2018-07-18 20:35:19
【问题描述】:

我正在运行 SQLite3 版本 sqlite-3.6.12,并且我已成功将其移植到我的操作系统。我看到的问题是,当我执行命令“PRAGMA journal_mode = OFF”时,它返回“OFF”,但我仍然看到正在创建 *.db-journal 文件。至关重要的是,这些文件不是为了我的项目而创建的。当我单步执行代码时,sqlite3PagerJournalMode 正在返回 PAGER_JOURNALMODE_OFF 所以我想知道设置 journal_mode=OFF 是否仍应生成这些文件,或者是否还有我遗漏的其他内容。请帮助

我也试过 PRAGMA main.journal_mode = OFF 和 PRAGMA journal_mode = MEMORY。但是日志文件是这样创建的!!!!

【问题讨论】:

    标签: sqlite sqlite-journal-mode


    【解决方案1】:

    许多 pragma 既有临时的,也有 永久形式。临时表格 仅影响当前会话 它的生命周期。这 永久形式存储在 数据库并影响每个会话。

    When to use pragmas on sqlite?

    【讨论】:

      【解决方案2】:

      尝试设置独占访问(PRAGMAlocking_mode=exclusive),有时会为外部锁定创建日志。

      【讨论】:

      • 感谢回复。我已经尝试过使用此选项但没有区别。我的sqlite版本是sqlite-3.6.12,具体版本是否有问题?
      • 是的。我只在我的应用程序代码中做所有事情。我可以通过命令行设置 default_cach_size(5000)。但是当我将 JOURNEL 模式或临时模式设置为不同于默认值时,它是下次不提供该值。但是缓存大小显示为以前的(5000)。
      猜你喜欢
      • 2010-10-21
      • 2015-05-16
      • 2020-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 2011-12-04
      相关资源
      最近更新 更多