更新,选择原子。 GORM ORM

时间:2019-05-25 15:05:40

标签: go go-gorm

我可以在gorm psql中做类似的事情吗?

UPDATE job SET status = 'RUNNING' WHERE status = 
'PENDING' RETURNING *

我想通过一个原子操作来获取所有通过更新更改的行。如果还有其他解决方案,请写下来。

1 个答案:

答案 0 :(得分:0)

据我所知,可能只有一点缺点

假设您的模型名为Job,则可以执行以下操作...

var jobs []Job
db.Find(&jobs).Where("status = ?", StatusPending).Update("status", StatusRunning)

受影响的行将位于jobs var中,但我不得不说,您将在更新之前收到行,因此模型的状态为“待定”