Python Sqlalchemy如何实现select for update

发大水法撒旦法 17 0 PDF 2020-12-22 18:12:30

sqlalchemy 对于行级锁有两种实现方式,with_lockmode: 和 with_for_update,前者在sqlalchemy 0.9.0 被废弃,用后者代替。看下函数的定义:q = sess.query.with_for_update对应于sql:SELECT users.id AS users_id FROM users FOR UPDATE OF users NOWAITmysql 不支持这几个参数,转成sql都是:SELECT users.id AS users_id FROM users FOR UPDATE范例:结果:SELECT ... FOR UPDATE 的用法,不过锁定的数据是判别就得要注意一下了。由于InnoDB 预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL 才会执行Row lock ,否则mysql 将会执行Table Lock 。

Python Sqlalchemy如何实现select for update

Python Sqlalchemy如何实现select for update

用户评论
请输入评论内容
评分:
暂无评论