我可以在gorm psql中做类似的事情吗?
UPDATE job SET status = 'RUNNING' WHERE status =
'PENDING' RETURNING *
我想通过一个原子操作来获取所有通过更新更改的行。如果还有其他解决方案,请写下来。
答案 0 :(得分:0)
据我所知,可能只有一点缺点
假设您的模型名为Job
,则可以执行以下操作...
var jobs []Job
db.Find(&jobs).Where("status = ?", StatusPending).Update("status", StatusRunning)
受影响的行将位于jobs var
中,但我不得不说,您将在更新之前收到行,因此模型的状态为“待定”