This is incorrect. If you open a database in read-only mode you cannot modify it. It does not matter what journal mode is in effect. If you attempt to "open" a write transaction against a read-only database it will fail with the message that you cannot modify a read-only database. ``` >sqlite SQLite version 3.36.0 2021-04-05 23:06:42 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> .open cases.db sqlite> pragma journal_mode=wal; ┌──────────────┐ │ journal_mode │ ├──────────────┤ │ wal │ └──────────────┘ sqlite> .open -readonly cases.db sqlite> pragma journal_mode; ┌──────────────┐ │ journal_mode │ ├──────────────┤ │ wal │ └──────────────┘ sqlite> .databases main: D:\work\covid\cases.db r/o sqlite> begin immediate; sqlite> .databases main: D:\work\covid\cases.db r/o read-txn sqlite> create table main.x(x); Error: attempt to write a readonly database sqlite> ``` You cannot write to a read-only database.