Gorm加悲观锁的最新用法

𝖋𝖊𝖓𝖌𝖟𝖜

因为google了“gorm for update”或者是“gorm 开启排他锁”出来的文章清一色的使用着如下用法来开启表的行/表锁

1
tx.Set("gorm:query_option", "FOR UPDATE").First(&employee, id)

但是经过测试,我加了没有作用,搜索gorm官方文档,结果用法已经变成如下

1
2
3
4
5
6
7
8
db.Clauses(clause.Locking{Strength: "UPDATE"}).Find(&users)
// SELECT * FROM `users` FOR UPDATE

db.Clauses(clause.Locking{
Strength: "SHARE",
Table: clause.Table{Name: clause.CurrentTable},
}).Find(&users)
// SELECT * FROM `users` FOR SHARE OF `users`

果然有问题先找官方文档。😂

  • Title: Gorm加悲观锁的最新用法
  • Author: 𝖋𝖊𝖓𝖌𝖟𝖜
  • Created at : 2021-11-30 00:06:39
  • Updated at : 2025-02-22 23:37:10
  • Link: https://zhiwei-feng.github.io/2021/11/30/gorm-for-update/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
Gorm加悲观锁的最新用法