pymysql-获取上次更新的行?

时间:2019-01-29 06:52:23

标签: python mysql python-3.x pymysql

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

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。检查数据库是否显示受影响的单行。是否有任何已知问题,或者我有什么故障?

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

0 个答案:

没有答案