gpt4 book ai didi

perl - 为什么SQLite提示我准备好的语句的语法?

转载 作者:行者123 更新时间:2023-12-03 08:12:51 25 4
gpt4 key购买 nike

我在sqlite3中无法获得准备好的语句才能正常工作。我正在使用Perl和Perl DBD框架。以下是我使用的代码:

#This is a function I have defined
sub query($@){
my $st = $db->prepare(shift);
$st->execute(@_);
}

#And it is used like so
query("UPDATE rooms SET name = ?, SET capacity = ? WHERE id = ?",
$name, $capacity, $id);

当我尝试这样做时,出现以下错误:

DBD::SQLite::db准备失败:“SET”附近:dbdimp.c行的语法错误(1)
271在database.pm第80行。

为什么会出现该错误?如果我在不使用准备好的语句的情况下进行尝试,那么它将起作用。我的应用程序中的所有其他准备好的语句都起作用,除了UPDATE查询。

最佳答案

使用标准(和sqlite的)UPDATE语法的查询是

UPDATE rooms SET name = ?, capacity = ? WHERE id = ?

没有重复的SET

关于perl - 为什么SQLite提示我准备好的语句的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587258/

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