问题标签 [sqlite-journal-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
849 浏览

android - 无法在 Android 上的 SQLite 中更改日志模式

我正在使用 Android 6.0 和 SQLite 3.8.10.2 我在更改数据库连接的日志模式时遇到问题。

首先我检查journal_mode并且值是'PERSIST'然后我journal_mode=DELETE再次设置并检查,但xx变量的值仍然是PERSIST。我需要更改 journal_mode,因为我必须在多个设备之间同步 db。

谢谢

0 投票
1 回答
1856 浏览

android - clearAllTables 不起作用

Android Room 有方法 void clearAllTables(),根据文档,它做了以下内容:

从注册到此数据库的所有表中删除所有行entities()

这不会重置由autoGenerate().

删除行后,Room 将设置 WAL 检查点并运行 VACUUM。这意味着数据被完全擦除。如果数量超过数据库文件大小的阈值,系统将回收空间。

我在我的项目中检查了它,看起来 db 在那次调用之后没有数据,但是当我从我的设备中提取 *.db 文件并在sqlite查看器中打开它时,我看到所有数据都存在,表格被填满,什么也没有已被删除。这个怎么可能?我认为这是我的应用程序中的一个潜在缺陷。请提供可靠的洁净室数据库方法

0 投票
4 回答
9867 浏览

android - Android:使用房间创建的 SQLite 数据库在使用 sqlte-browser 打开时不显示表

我正在使用Room Persistence Library 1.1.0/data/data/<package_name>/databases/我可以使用 Android Studio 的设备文件资源管理器找到数据库文件。

room-DAO它包含多个表,我可以使用s毫无问题地访问这些表的内容。但是,使用 , 打开时sqlite-browser,不显示任何表格。

可能是什么原因?是否可以在不从房间切换回旧房间的情况下解决问题SQLiteOpenHelper

0 投票
1 回答
73 浏览

database - 单个作家的最佳日记模式

我将 sqlite3 用于日志记录功能。如果我不需要任何并发性(一直只有一个作家),但我需要快速插入,我应该选择哪种日志模式?

0 投票
0 回答
248 浏览

objective-c - 核心数据禁用 journal_mode 不起作用

我想在我的核心数据应用程序中禁用日志模式。这是代码:

我也验证了这个:

NSLog 的结果是:

但是当我重新启动我的应用程序时,我总是在应用程序目录中找到所有三个文件 My_App.sqlite、My_App.sqlite-shm 和 My_App.sqlite-wal。

为什么它不起作用?

0 投票
0 回答
550 浏览

flutter - Flutter:SQFLite 数据库未在应用程序中显示数据

在我的 Android 应用程序中,我需要添加大约 300 个客户。由于应用程序具有可用的数据库import/export功能,因此我决定在计算机上而不是移动设备上插入客户。

我是这样做的:

  1. 在手机上安装应用程序
  2. 使用导出db功能导出
  3. 使用 SQLite 编辑器工具插入数据
  4. 保存了数据库
  5. 在手机上转移并导入回来

从逻辑上讲,它应该工作,但它不工作。

导出/导入功能:

此功能确实按预期工作,我已经这样测试过:

  1. 添加了一些虚拟数据
  2. SD卡上的导出数据
  3. 删除应用程序
  4. 重新安装(虚拟数据不可用)
  5. 导入数据回来,它工作

我注意到:

  1. 导出的数据库 zip 文件包含一个与数据库同名但带有附加词的文件,例如DBNAME.db-journal. 当我db使用 SQLite 编辑器添加数据并保存时。该-journal文件已被删除。

  2. 由于应用程序不会在应用程序中显示添加的数据,但是如果我们db从应用程序导出并在编辑器中打开它,那么它会显示所有数据。

我什至尝试-journal在导入之前删除以前的文件,但没有运气。

0 投票
2 回答
353 浏览

android - 备份时的Android 9数据库日志模式WAL问题

我的应用程序中有一些备份/恢复功能,在使用 >= Android 9 时会导致问题,SQLite 数据库确实使用 journal_mode WAL 而不是他们在旧手机上使用的 DELETE。我的 SQLLite 版本是 3.25.2

更多信息:

我正在使用完全集成到我的项目中的 Sugar ORM。Sugar ORM 使用自己的类,例如,扩展 SQLiteOpenHelper 的 SugarDb,并且该类是只读的。

问题:

  1. 如何以及在哪里检查 *.db 文件的 journal_mode 是否为 WAL?
  2. SQLite journal_mode 为 WAL 时如何正确复制/恢复 *.db 文件?
  3. 对于所有手持设备,如何以及在何处将 SQLite journal_mode 从 WAL 切换到 DELETE?
0 投票
1 回答
30 浏览

sqlite - 使用 TCL 在 SQLite 上更改 journal_mode

我想升级我的插入速度,并阅读了有关修改日志模式的信息。我怎样才能在 TCL 代码上做到这一点?谢谢!