I have the following table
CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, insertTimestamp <- )
For the following column insertTimestamp
I want to generate timestamp in this format: YYYY-MM-DD HH:MM:SS.SSS
and it should be in UTC time zone.
How do I do it? What is the most efficient way of doing this?
Most importantly - If my server has incorrect time, will it mess up my database time?
You should use the function strftime()
function with '%Y-%m-%d %H:%M:%f'
format and the 'now'
modifier which will return the current datetime with milliseconds in UTC:
CREATE TABLE IF NOT EXISTS user (
id INTEGER PRIMARY KEY,
insertTimestamp TEXT NOT NULL DEFAULT(strftime('%Y-%m-%d %H:%M:%f', 'now'))
);
See the demo.
SQLite is serverless, so it will return the current datetime from your system and not any server.