将ID列表传递给SQL语句

时间:2013-12-18 09:43:49

标签: java jdbc jdbctemplate

此代码:

ids = "1245, 4526, 7689, 8001";
jdbcTemplate.update("DELETE FROM my_table WHERE id IN (?)", new Object[] { ids });

抛出以下异常:

  

(...)嵌套异常是java.sql.SQLSyntaxErrorException:ORA-01722:无效数字

如何将ID列表传递给上面的sql语句?

1 个答案:

答案 0 :(得分:1)

您的查询错误。您无法将列表传递给单个辩论。

试试这个。

jdbcTemplate.update("DELETE FROM my_table WHERE id IN (?,?,?,?)", new Object[] { 1245, 4526, 7689, 8001});