我正在使用 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
提交
取消