sqlite3.OperationalError: default DATE value of column is not constant

sqlite3.OperationalError: default DATE value of column is not constant

我正在创建一个接受来自服务器的记录的 sqlite3 table。应该有一个 date/text 列也有一个 datetime DEFAULT 值,这样我就可以同步一条与服务器记录时间不同的记录。

我在这个论坛上从 here 找到了解决方案。问题是在执行 table 创建脚本时出现以下错误:sqlite3.OperationalError: default value of column [updated_at] is not constant.

Table 已创建:

cur.execute('CREATE TABLE IF NOT EXISTS emp_tb(\
                    emp_id INTEGER PRIMARY KEY NOT NULL,\
                    emp_names TEXT NOT NULL,\
                    emp_number TEXT NOT NULL UNIQUE,\
                    ent_id INTEGER NOT NULL,\
                    active INTEGER NOT NULL DEFAULT "0",\
                    updated_at TEXT NULL DEFAULT (datetime("now", "localtime")),\
                    syncstatus INTEGER NOT NULL DEFAULT "0")')

我应该创建触发器吗?或如果更新遗漏了一个位置,我如何获得格式为 ("YYYY-MM-DD HH:MM:SS.SSS") 的默认值?

对日期时间选项使用单引号 (')。如评论中所述,必须对它们进行转义(因为查询是用单引号分隔的)。