【发布时间】:2009-11-01 19:38:59
【问题描述】:
我在表 myTable 中有一个双精度数组字段 dblArrayFld,我想使用 Spring 的 NamedParameterJdbcTemplate 更新它(我正在使用 Postgres)。
我正在运行这样的代码:
SqlParameterSource params = (new MapSqlParameterSource())
.addValue("myarray", myDblArrayListVar)
.addValue("myid", 123);
namedJdbcTemplate.update("UPDATE myTable SET dblArrayFld = :myarray WHERE idFld = :myid", params);
这会返回一个错误,在“$2”或附近读取语法错误
我假设我在 :myarray 上的语法在这里有问题。我还尝试通过以下方式封装:myarray:
dblArrayFld={:myarray}dblArrayFld={ :myarray }dblArrayFld=[:myarray]dblArrayFld=ARRAY[:myarray]dblArrayFld=(:myarray)
这里的正确语法是什么?
【问题讨论】:
-
myDblArrayListVar 是什么类型?
-
对不起,错过了:myDblArrayListVar is an ArrayList
-
我期待这个答案,但想得到确认
标签: java postgresql jdbc parameterized jdbctemplate