Pymysql获取上次更新的行?

2024-04-24 02:41:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几个工作线程需要从数据库中提取行并处理它们。尝试进行一个显示行已检查/正在检查的调用。我希望cursor.lastrowid可以工作,但始终返回零。文档说“这个只读属性返回上一个INSERT或UPDATE语句为AUTO_INCREMENT列生成的值”。该表有两列,id(唯一,自动递增)checked(int)。在

cursor.execute('UPDATE the_table SET checked = 1 WHERE checked = 0 LIMIT 1')
mysql.commit()
id = cursor.lastrowid
print(id) #returns 0 not last id

这确实更新了行,但是cursor.lastrowid始终为0。在cursor.rowcount返回1。检查数据库显示有一行受到影响。有没有什么已知的问题或者我有什么不正常的地方?在

编辑:这可能是不可能的。我还没有看到任何更新可以返回auto_increment值的工作示例。也许文档需要更新?在


Tags: 文档id数据库autoexecute属性update语句