Pymysql - получить строку последнего обновления? - PullRequest
0 голосов
/ 29 января 2019

У меня есть несколько рабочих потоков, которые должны извлекать строки из базы данных и работать с ними.Попытка сделать один вызов, который показывает, что строка имеет / проверяется.Я надеялся, что cursor.lastrowid будет работать, но он всегда возвращает ноль.Документы говорят: «Это свойство только для чтения возвращает значение, сгенерированное для столбца AUTO_INCREMENT предыдущим оператором INSERT или UPDATE».Таблица имеет два столбца: id (уникальный, автоинкремент) проверено (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

Это обновляет строку, но курсор .lastrowid всегда равен 0. cursor.rowcount возвращает 1. Проверка базы данных показывает одну строку, на которую влияют.Есть какие-либо известные проблемы или, возможно, у меня что-то не так?

РЕДАКТИРОВАТЬ: Это может быть невозможно.Я не видел ни одного рабочего примера, где UPDATE может возвращать значение auto_increment.Возможно, документы должны быть обновлены?

...