我正在使用 python 并尝试按如下方式插入到 sqlite3 表中:database.execute("INSERT INTO EXAMPLE VALUES (?, ?, DATETIME('now','+? seconds'), ?);", (id, statement, time_duration, access))我得到以下异常:ProgrammingError: Incorrect number of bindings supplied. The current statement uses 3, and there are 4 supplied.我相信这是因为出于某种原因,查询参数绑定在DATETIME('now','+? seconds);. 如果我在查询中硬编码 +60 秒左右,这很好用。有没有办法让 sqlite3 在那里插入提供的绑定?
1 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
占位?
符必须像这样连接:
INSERT INTO EXAMPLE VALUES (?, ?, DATETIME('now', ? || ' seconds'), ?);
+
在这种情况下不需要。
此外,以与提供的值相同的顺序包含列名也是一个好习惯:
INSERT INTO EXAMPLE(col1, col2, col3, col4) VALUES (?, ?, DATETIME('now', ? || ' seconds'), ?);
添加回答
举报
0/150
提交
取消