我无法让 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 查询。