对于我在 PostgreSQL 上的 UPDATE 语句(来自 Perl 通过DBI
and DBD::Pg
),我想绑定一个像这样的值:
my $sql = 'UPDATE mytable SET foo = % WHERE id = 42';
my $foo_value = 23;
$dbh->do($sql, {}, $foo_value);
这在该行中给出以下错误do()
:
DBD::Pg::db do failed: called with 1 bind variable when 0 are needed at...
我尝试了占位符的其他语法,$1
并且?
. 两者都失败了
DBD::Pg::db do failed: ERROR: invalid input syntax for type numeric: "" at...
什么是正确的语法?