加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – MySQL遍历每一行(大表)

发布时间:2020-12-14 05:42:30 所属栏目:Java 来源:网络整理
导读:我有一张带有ID和名字的桌子.我想通过这个表的每一行. TheID是主键和auto_increment. 我不能使用(?)单个查询来获取所有行,因为表格很大. 我正在为每一个结果做点什么.我希望有可能停止这项任务,并在以后继续. 我以为我可以这样做: for (int i = 0; i 90238
我有一张带有ID和名字的桌子.我想通过这个表的每一行.
TheID是主键和auto_increment.

我不能使用(?)单个查询来获取所有行,因为表格很大.
我正在为每一个结果做点什么.我希望有可能停止这项任务,并在以后继续.

我以为我可以这样做:

for (int i = 0; i < 90238529; i++) {
  System.out.println("Current ID :" + i);
  query = "SELECT name FROM table_name WHERE id = " + i;
  ...
}

但这不起作用,因为auto_increment跳过了一些数字.

如上所述,我需要一个选项来停止这项任务,让我能够在我离开的地方重新开始.与上面的示例代码一样,我知道当前条目的ID,如果我想再次启动它,我只需设置int i = X.

解决方法

使用单个查询来获取所有记录:
query = "SELECT name FROM table_name WHERE id > ? ORDER BY id";

然后迭代ResultSet并读取您希望的记录数(您不必读取ResultSet返回的所有行).

下次运行查询时,传递上一次执行中获得的最后一个ID.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读