我有以下声明:
String query = "DELETE FROM myTable WHERE id=? AND otherField=?; DELETE FROM myOtherTable WHERE idOther=? AND anotherField=?;";
将作为一个查询(一个接一个地执行)执行。所以,我有以下内容:
JdbcTemplate template;
template.update(query, new Object[]{ 1, "otherValue", 3, "anotherValue" });
因以下错误而失败:
org.postgresql.util.PSQLException:列索引超出范围: 3,列数:2。
我认为这里的问题是,查询由分号分隔,并且将为每个查询应用参数,并且它将尝试应用参数而不管分号。所以,我有4个参数,但第一个查询只收到2个(两个查询的SUM都是4)。
我有办法将参数传递给查询吗? 我无法使用命名模板 。
答案 0 :(得分:0)
我最后自己做了替换然后执行查询。