python sqlite3 выберите обновленное значение строки - PullRequest
0 голосов
/ 07 мая 2018

я хочу напечатать идентификатор обновленной строки в запросе SQL

while True:
  Conn = sqlite3.connect('database.db', timeout=60)
  c = Conn.cursor()
  c.execute("UPDATE row SET value='value' where status='status'")
  #i want to do something here to the updated row above
  Conn.commit()
  Conn.close()

1 Ответ

0 голосов
/ 07 мая 2018

Вам нужно сделать два запроса (может замедлить ваш процесс). Один для выбора идентификаторов и другой для обновления соответствующих идентификаторов

while True:
    connection = sqlite3.connect('database.db', timeout=60)
    cursor = connection.cursor()

    # Get IDs to update
    rows = cursor.execute("SELECT id FROM row WHERE status='status'")
    ids = [str(x) for x, in rows]  # Transform tupple list to list of string

    # Update corresponding IDs
    cursor.execute(
        "UPDATE row SET value='value' WHERE id in ({0})".format(','.join(ids)))

    # Do what you want with `ids`...

    connection.commit()
    connection.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...