【SQLite】ジャーナルがwalのDBを更新しても内容が変わらない

ものすごい単純な事だけどハマってしまったのでメモ。

INSERT したはずのレコードがなぜか SELECT * しても見えない問題が発生しました。

条件

  • Windows環境
  • 自分より高い権限が必要な領域にDBファイルを配置している
  • ジャーナルモードはwal

操作内容

  • 管理者権限で起動したツールでDBの内容をINSERTする
  • 一般権限のユーザーでSQLiteコマンドプロンプトを起動して内容を確認する

解決方法

この操作をすると INSERT したレコードは SELECT * FROM XXX; しても見えない。

管理で実行で管理者のコマンドプロンプトを立ち上げて SELECT すると内容が見える。