python - python sqlite3选择更新的行值
问题描述
我想在 SQL 查询中打印更新行的行 ID
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()
解决方案
您需要执行两个查询(可能会减慢您的过程)。一个选择ID,另一个更新对应的ID
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()
推荐阅读
- php - laravel 中 yajra 数据表的问题
- e-commerce - 我必须在我的电子商务跟踪代码中引入哪些变量?
- swift - Xcode 12.0 - XCFrameworks 在测试目标中不起作用
- python - 我在访问我的 django 管理模型时遇到问题
- apache-kafka - JDBC-source-connector 生成的 Avro-Schema 是否稳定?
- c++ - Error when make a build of the game in Uneral Engine
- node.js - 未定义符号:napi_module_register
- kotlin - 如何禁用 Ktor 客户端 SSL 验证?
- scala - 从 Scala 连接到 HDFS HA(高可用性)
- php - Laravel - 使用“with”和“where”子句进行选择的查询