我有几个工作线程需要从数据库中提取行并处理它们。尝试进行一个显示行已检查/正在检查的调用。我希望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值的工作示例。也许文档需要更新?在
目前没有回答
相关问题 更多 >
编程相关推荐