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

g6baxovj  于 2023-04-21  发布在  SQLite
关注(0)|答案(1)|浏览(254)

我有下表

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

对于下面的列insertTimestamp,我想以这种格式生成时间戳:YYYY-MM-DD HH:MM:SS.SSS,应该是UTC时区。
我该怎么做?最有效的方法是什么?

最重要的是-如果我的服务器有不正确的时间,它会搞乱我的数据库时间吗?

bejyjqdl

bejyjqdl1#

你应该使用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')) 
);

参见demo
SQLite is serverless,因此它将从您的系统而不是任何服务器返回当前日期时间。

相关问题