将PyMySQL游标开始

时间:2017-01-25 08:07:48

标签: mysql pymysql

我正在使用PyMySQL 0.7.9和MySQL 5.1.73。我必须使用相同的PyMySQL游标执行两个操作。在光标上完成第一个操作后,我需要将光标移回到开头。

import pymysql;

cursor.execute("my query");
# First operation
for row in cursor :
  # run update query to update status flag for all rows fetched.

# Second Operation
for row in cursor : 
  # run some more commands for the rows.

我在第二次操作之前添加了

cursor.rownumber = 0
。有效。但是有没有PyMySQL函数可以实现相同的功能? PyMySQL中有类似于http://php.net/manual/en/mysqli-result.data-seek.php

的内容

1 个答案:

答案 0 :(得分:2)

根据API定义,您可以使用scroll函数:

  

<强> cursor.scroll(value [, mode='relative' ])

     

根据模式将结果集中的光标滚动到新位置。

     

如果mode是 relative (默认值),则将值作为结果集中当前位置的偏移量,如果设置为绝对值,则值表示绝对目标位置。

所以要跳到第一行,你可以使用

cursor.scroll(0, 'absolute')

在内部,pymysql实际上也会执行cursor.rownumber = 0

这仅适用于普通cursor,而不适用于无缓冲的SScursor,您(当前)只能向前滚动。