记录集迭代

Ana*_*hah 0 mysql iteration perl recordset

我想使用Perl迭代从MySQL数据库返回的记录,但一次只能迭代10条记录.原因是服务器组件每个请求只能处理10个项目.

例如:

如果查询返回35条记录,那么我必须在4个请求中发送数据:

Request #         # of Records
--------             --------
   1                    10
   2                    10
   3                    10
   4                     5

完成任务的最佳方法是什么?

kbo*_*sak 5

查看MySQL的LIMIT子句.您可以查询如下:

SELECT * from some_table LIMIT 0, 10;
SELECT * from some_table LIMIT 10, 10;
Run Code Online (Sandbox Code Playgroud)

LIMIT之后的第一个数字是偏移量,第二个数字是记录数量.

您当然首先需要对总计数进行查询,并确定运行选择查询以获取所有结果所需的次数.

或者,在Perl中,您可以使用像DBIx :: Class这样的ORM包,它可以通过多组结果处理分页并为您自动检索它们.