我正在使用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 的内容
答案 0 :(得分:2)
根据API定义,您可以使用scroll
函数:
<强>
cursor.scroll(value [, mode='relative' ])
强>根据模式将结果集中的光标滚动到新位置。
如果mode是 relative (默认值),则将值作为结果集中当前位置的偏移量,如果设置为绝对值,则值表示绝对目标位置。
所以要跳到第一行,你可以使用
cursor.scroll(0, 'absolute')
在内部,pymysql
实际上也会执行cursor.rownumber = 0
。
这仅适用于普通cursor
,而不适用于无缓冲的SScursor
,您(当前)只能向前滚动。