How to add default value in SQLite?
Looks good to me. Here are the Docs.
sqlite> create table t1 (id INTEGER PRIMARY KEY, name TEXT, created DATE);sqlite> .tablet1sqlite> .dumpPRAGMA foreign_keys=OFF;BEGIN TRANSACTION;CREATE TABLE t1 (id INTEGER PRIMARY KEY, name TEXT, created DATE);COMMIT;sqlite> alter table t1 add column status varchar default 'N';sqlite> .dumpPRAGMA foreign_keys=OFF;BEGIN TRANSACTION;CREATE TABLE t1 (id INTEGER PRIMARY KEY, name TEXT, created DATE, status varchar default 'N');COMMIT;sqlite> insert into t1 (name) values ("test");sqlite> select * from t1;1|test||N
Dump your schema and verify that your table structure is there after calling ALTER TABLE but before the INSERT. If it's in a transaction, make sure to COMMIT the transaction before the insert.
$ sqlite3 test.db ".dump"