SQLite 数据库为同一列返回两个不同的值

SQLite database returning two different values for the same column

我目前正在制作一个 NodeJS 应用程序,我使用 SQLite 作为后端数据库。在尝试软删除 table 中的条目时,我 运行 遇到了问题。当我使用应用程序更改 'deleted' 属性时,更改出现在 SQLite CLI 中,但应用程序仍将每条记录显示为未删除。这些是我用来测试应用程序和数据库的步骤:

  1. 在 SQLite CLI 中,调用 createDB.sql 脚本删除所有 table 和 重新设置它们。
  2. 调用populateDB.sql脚本将测试数据输入每个table
  3. 在 SQLite CLI 中检查记录是否正确(SELECT id,从 table1 中删除;)
  4. 在应用程序控制台检查记录是否正确
  5. 在应用程序中,更改单个条目的已删除属性
  6. 向控制台输出条目控制台显示条目未删除
  7. 在应用程序中,更改所有条目的已删除属性
  8. 输出条目到控制台控制台显示条目未删除
  9. 在 SQLite CLI 中检查记录是否正确输出显示所有记录的删除属性已更改
  10. 向应用程序控制台输出已删除的属性仍然显示所有条目未被删除

这些是我为尝试解决问题而采取的步骤:

在所有这些测试之后,我相信应用程序正在 写入 到实际的数据库文件,但是正在 读取 从缓存中。这是一个准确的结论吗?如果是这样,我如何告诉应用程序在执行更新查询后刷新它的缓存?

应用程序正在写入数据库文件,并从同一个数据库而不是缓存中读取。但是我的查询设置为 SELECT * FROM table1 LEFT OUTER JOIN table2 LEFT OUTER JOIN table3 LEFT OUTER JOIN table4。 table1、table2 和 table3 都有一个名为“已删除”的列。我正在更新 table1.deleted 但正在阅读 table2.deleted。我已将查询修改为仅 select 从现在起我需要的列!