jdbcTemplate.update为何执行删除操作出错
yesshi
2012-07-20
程序中执行删除操作,如下
String sql = "delete from Whitelistprice where ACCOUNTID=? and KEYID IN (?)"; //cpcIdList大于1000时,分批删除名单 List<List<Long>> il = CollectionsUtils.devideList(cpcIds, 1000); for (List<Long> list : il) { getJdbcTemplateStat().update(sql, new Object[]{accountId,list}); } 报错: PreparedStatementCallback; invalid ResultSet access for SQL [delete from Whitelistprice where ACCOUNTID=? and KEYID IN (?)]; nested exception is java.sql.SQLException: 无效的列索引 这个错很奇怪,因为我在SQL数据库上执行这条SQL是没有问题的,不知道程序是错在哪里,希望大家指教一下啊~~ |
|
liuqibo861129
2012-07-20
new Object[]{accountId,list.toString()}
|
|
yunzhu
2012-07-23
KEYID IN (?) 应该是这个地方有问题,
Spring JDBC Template处理后的SQL可能会变成: KEYID IN ('1,2,3') 这个地方自己替换SQL字符串吧 |
|
blacklab
2012-07-25
我也遇到了这个问题?
|
|
yunzhu
2012-07-25
blacklab 写道 我也遇到了这个问题?
我也遇到过,就是像我上面回复的那种情况: |
|
suncf1985
2012-08-30
你最好是把 ? 号的值打出来,看看到底是什么东西!
你就全明白了! |