java - 使用 JDBC,如何将多个 ID 替换为 "DELETE FROM T WHERE id IN (?)"

标签 java sql jdbc prepared-statement

我有一些代码可以生成一组我想从数据库表中删除的主键值。

long[] keysToDelete = { 0, 1, 2, 3 };

我想使用 PreparedStatement 来执行等同于

DELETE FROM MyTable WHERE myPrimaryKey IN (0, 1, 2, 3);

知道怎么做吗?

最佳答案

两步:

  1. 使用适当数量的参数构建 PreparedStatement SQL 字符串。
  2. 遍历值数组并将每个值绑定(bind)到它的参数。

不幸的是,没有很好的方法一次性绑定(bind)一个数组。

关于java - 使用 JDBC,如何将多个 ID 替换为 "DELETE FROM T WHERE id IN (?)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/448036/

相关文章:

mysql - 限制一个表可以有的记录数

java - 从Json数组中获取指定值

Java w/Slick - 我的跳跃动画似乎以处理器可以处理的速度跳跃

php - MySQL 插入或替换

mysql - 带枚举的条件分组

java - 如何从 mysql glob 类型获取图像

java - 一个android数据库问题

java - 使用 JDBC 获取所有外键

java - 在 Apache tomcat 7 中安装 taglib 时遇到问题

java - 如何使用 Java 从 Internet 下载并保存文件?