if you want something to never be null you have to place NOT NULL after the name when creating the c
if you want something to never be null you have to place NOT NULL after the name when creating the column

PRAGMA defer_foreign_keys = on
The spellfix1 virtual table is not included in the SQLite amalgamation and is not a part of any standard SQLite build. It is a loadable extension.
sqlite3CreateView calls sqlite3StartTable so it would follow the same path of attempting to create a temporary file - that's my understandingPRAGMA query_only = 1 results in attempt to write a readonly database (8) but you might be right, I can't say I've ever really used them before.TEMP from CREATE VIEW just moves it from the main database to temp as far as I can see, so I assume it's still trying to write something at the least - of which, would be on a temporary database file.temp_store to MEMORY, which conflicts with the comment - so there might be a quirk in SQLite or D1.wrangler d1 time-travel info YOUR_DATABASE ?sqlite3CreateViewsqlite3StartTablePRAGMA query_only = 1attempt to write a readonly database (8)TEMPCREATE VIEWtemp_storeMEMORYwrangler d1 time-travel info YOUR_DATABASE// TODO(someday): Allow temporary tables. Creating a temporary table actually causes
// SQLite to open a separate temporary file to place the data in. Currently, our storage
// engine has no support for this.