gpt4 book ai didi

sqlite - rusqlite 返回 Err(InvalidParameterCount(1, 0))

转载 作者:行者123 更新时间:2023-12-03 11:33:55 26 4
gpt4 key购买 nike

我尝试使用 rusqlite 执行一个简单的 sqlite 语句,但每次都会出错。

let seconds = 1;

conn.execute(
"DELETE FROM session WHERE created < DATETIME('now', '?1 seconds')",
params![seconds],
)?;
返回 Err(InvalidParameterCount(1, 0)) .
如果我使用静态字符串而不是参数,则查询有效。例如。
conn.execute(
"DELETE FROM session WHERE created < DATETIME('now', '1 seconds')",
params![seconds],
)?;
我如何在那里获取参数?

最佳答案

您正在写 ?1在字符串中,这不是参数,而是普通的几个字符。因此,当您指定实际参数时,它没有匹配项,因为查询没有任何参数占位符。
你想要这样的东西(未经测试):

let seconds = 1;

conn.execute(
"DELETE FROM session WHERE created < DATETIME('now', ?1)",
params![format!("{} seconds", seconds)],
)?;

关于sqlite - rusqlite 返回 Err(InvalidParameterCount(1, 0)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63897366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com