gui*_*bob 8 python sql sqlalchemy
我怎样才能使用 sqlalchemy 做这样的事情?
user = session.query("select * from user")
if user.state == "active"
session.query("update user set state = 'inactive' where id = %d" % user.id)
Run Code Online (Sandbox Code Playgroud)
我需要将选择和更新作为一项原子操作。在操作进行时,另一个程序不应该能够选择/更新用户。
我怎样才能同时做到这一点?
注意:我需要知道我们是否成功改变了状态。
我怎样才能做到这一点?
我做错了吗?
它应该是一个存储过程吗?
我应该使用数据库“锁”吗?
如果您的数据库支持SELECT FOR UPDATE (即:PostgreSQL),您可以使用:
user = session.query("select * from user where id = %d for update" % theId)
if user.state == "active"
session.query("update user set state = 'inactive' where id = %d" % user.id)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2865 次 |
| 最近记录: |