Field with DEFAULT value
We can set up a DEFAULT value to each field and if the INSERT does not set the value then this default value will be set.
However, if the INSERT explicitly sets NULL then that will be the value.
CREATE TABLE qa (
question TEXT,
answer TEXT DEFAULT 42
);
INSERT INTO qa (question, answer) VALUES ('Language?', 'SQL');
INSERT INTO qa (question, answer) VALUES ('Database?', 'SQLite');
INSERT INTO qa (question) VALUES ('Meaning of life?');
INSERT INTO qa (question, answer) VALUES ('What is void?', NULL);
SELECT * from qa;
$ sqlite3 < examples/default-value.sql
Language?|SQL
Database?|SQLite
Meaning of life?|42
What is void?|
╭──────────────────┬────────╮
│ question │ answer │
╞══════════════════╪════════╡
│ Language? │ SQL │
│ Database? │ SQLite │
│ Meaning of life? │ '42' │
│ What is void? │ NULL │
╰──────────────────┴────────╯