[英]how to update latest post sqlite3?
我需要更新数据库中的最新条目。 虽然查询在数据库浏览器中工作正常,但它在代码中不起作用。 请告诉我怎么了?
class MySQL:
def __init__(self):
self.connection = sqlite3.connect(file_db, check_same_thread=False)
self.cursor = self.connection.cursor()
self.add_bd()
def update_sell_price(self, sell_price):
with self.connection:
self.cursor.execute(
f'UPDATE Deals SET sell_price={sell_price} ORDER BY deal_id DESC LIMIT 1')
给出错误信息:sqlite3.OperationalError: near "ORDER": syntax error
仅当使用SQLITE_ENABLE_UPDATE_DELETE_LIMIT编译时选项构建 SQLite 时, UPDATE
语句中的LIMIT 和 ORDER BY 子句才可用,我怀疑这不是您使用的版本中的内容。
而是使用标量子查询来获取最大deal_id
:
sql = """
UPDATE Deals
SET sell_price = ?
WHERE deal_id = (SELECT MAX(deal_id) FROM Deals)
"""
self.cursor.execute(sql, (sell_price,))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.