如何在SQLite中以UTC格式自动生成毫秒精度的插入时间戳



我有以下表格

CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, insertTimestamp <- )

对于下面的列insertTimestamp,我想以这种格式生成时间戳:YYYY-MM-DD HH:MM:SS.SSS,它应该在UTC时区。

我该怎么做?做这件事最有效的方法是什么?

最重要的是-如果我的服务器有错误的时间,它会弄乱我的数据库时间吗?

您应该使用strftime()函数与'%Y-%m-%d %H:%M:%f'格式和'now'修饰符,这将返回当前日期时间毫秒UTC:

CREATE TABLE IF NOT EXISTS user (
id INTEGER PRIMARY KEY, 
insertTimestamp TEXT NOT NULL DEFAULT(strftime('%Y-%m-%d %H:%M:%f', 'now')) 
);

SQLite是无服务器的,所以它会从你的系统返回当前日期时间,而不是任何服务器。

最新更新