SQLite Forum

sqlite opens a database file in R/W mode, even if the file is read-only
Login
This is the way SQLite has always worked, and it is by design.  If you request
to open a database read/write but the database file itself is read-only, then
SQLite falls back to a read-only open.  Most applications prefer it that way.

If it is important to you to know that the database is writable after
you open it, then you can start a transaction and ask if the database
is writable using [sqlite3_db_readonly()][1] interface.

[1]: https://sqlite.org/c3ref/db_readonly.html