我很难在sqlite3中得到一个准备好的语句。我正在使用Perl和PerlDBD框架。下面是我使用的代码:
#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 prepare failed: near "SET": syntax error(1) at dbdimp.c line
271 at database.pm line 80.
为什么我会得到那个错误?如果我在不使用准备好的语句的情况下尝试它,它就会工作。除更新查询外,我的应用程序中其他所有准备好的语句都有效。