我使用的是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的东西吗?
发布于 2017-01-25 13:24:52
根据API定义,您可以使用scroll函数:
cursor.scroll(value [, mode='relative' ])根据模式将结果集中的光标滚动到新的位置。 如果模式是相对的(默认),则将值作为对结果集中当前位置的偏移,如果设置为绝对值,则值将声明一个绝对目标位置。
因此,要跳到第一行,可以使用
cursor.scroll(0, 'absolute')在内部,pymysql实际上也只执行cursor.rownumber = 0。
这将只适用于普通的cursor,而不适用于未缓冲的SScursor,在该SScursor中,您(当前)只能向前滚动。
https://stackoverflow.com/questions/41846339
复制相似问题