4 ms·
Unfortunately, there doesn't seem to be a PRAGMA option for strict tables. Docs at following link say that 'STRICT' must be appended to end of CREATE TABLE stat
by neverartful 2y ago
Unfortunately, there doesn't seem to be a PRAGMA option for strict tables. Docs at following link say that 'STRICT' must be appended to end of CREATE TABLE statement to disable the flexible typing 'feature'.
https://www.sqlite.org/stricttables.html https://www.sqlite.org/stricttables.html
- giraffe_lady 2y agoI don't think there can be with sqlite's backwards compatibility model. The DB has to assume it may be accessed with multiple versions of the library or clients using different pragma settings. So one client disabling strict (or using a version predating that feature) and inserting a bunch of violating records would break the DB file when used by another client with strict enabled. With it part of table creation, which IIRC is read for each connection to create the schema, it's part of the DB file not the client configuration. If you open a DB using strict with a version that doesn't support it, it will fail but not cause problems for other users.
- neverartful 2y agoYep, that all makes perfect sense!
- alberth 2y agoI wish there was a branch of SQLite that cleaned up everything, set new sane behavior (and broke backward compatibility since it’s needed to achieve that). Eg strict mode by default, WAL2, BEGIN CONCURRENT, etc. Maybe HC-Tree will become that? https://sqlite.org/hctree/doc/hctree/doc/hctree/index.html https://sqlite.org/hctree/doc/hctree/doc/hctree/index.html
- silvestrov 2y agoIt is time for version 4 of SQLite.