我正在寻找在SQLAlchemy中使用select for update的完整示例,但在Google搜索中没有找到。我需要锁定一行并更新一列,以下代码无法运行(永久阻塞):
s = table.select(table.c.user=="test",for_update=True)
# Do update or not depending on the row
u = table.update().where(table.c.user=="test")
u.execute(email="foo")
我需要进行提交吗?如何进行提交?据我所知,您需要执行以下步骤:
- 开始事务
- 选择...以进行更新锁定
- 更新
- 提交