是否有标准方法在 SQL 查询中绑定数组(标量)?我想绑定到一个IN
子句中,如下所示:
SELECT * FROM junk WHERE junk.id IN (?);
我碰巧使用Perl::DBI
which 将参数强制转换为标量,所以我最终得到了无用的查询,例如:
SELECT * FROM junk WHERE junk.id IN ('ARRAY(0xdeadbeef)');
澄清:我把查询放在自己的.sql
文件中,所以字符串已经形成。在答案提到动态创建查询字符串的地方,我可能会进行搜索和替换。
编辑:这个问题是Parameterizing a SQL IN 子句的重复?. 我最初认为它应该这样关闭,但它似乎正在积累一些好的 Perl 特定信息。