SQLite FAQ: How do I default a SQLite datetime field to the current date and time? (Also asked as, How do I default a SQLite date/time field to now?)
Solution
Use the SQLite current_timestamp function to default a SQLite field to the current date and time, like this:
last_updated datetime default current_timestamp
In a complete CREATE TABLE example I just used on an Android project, this looks like this:
create table projects (
_id integer primary key autoincrement,
name text not null,
description text,
date_created datetime default current_timestamp,
last_updated datetime default current_timestamp
);
Also, as you can see from this example, you can use the current_timestamp function more than once in a single SQLite CREATE TABLE statement. (This doesn't seem like a big deal, but at the time of this writing, you can't do the same thing in MySQL.)
Performing the SQL INSERT
Once you create a table like that, you can insert data into it with a SQL INSERT command like this:
INSERT INTO projects (name, description) VALUES ('Project 1', 'Next excellent project');
As shown, the key to using default field values is to skip them when doing your SQL INSERT.

