I had already though about that point, too. But imho it is not solvable at all, regardless of whether strict mode applies to single tables, a whole database or a connection. The reason is that the database will always be allowed to be opened in an older version of SQLite not knowing about strict mode. If it's in the table declaration, (I assume) older SQLite version will just ignore it. And so they will with a database property and a connection property as well. I'd argue in favor of performing the check only on an explicit "pragma integrity_check" as is currently (as far as I know) the same with foreign key enforcement.