登录
首页 >  Golang >  Go问答

批量更新 GORM 查询结果

来源:stackoverflow

时间:2024-02-24 12:09:26 351浏览 收藏

从现在开始,努力学习吧!本文《批量更新 GORM 查询结果》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我正在寻找使用 postgres 的 gorm 更新表的多行的最佳方法。

type info struct {
    gorm.model
    name  string
    email string
}

我希望能够使用 gorm 在单个事务中更新 info 的切片。

我现在正在以这种方式进行交易,但这似乎并不可靠

func UpdateInfos(ctx context.Context, db *gorm.DB, infos []Info) error {
    var err error
    tx := db.Begin()
    for _, info := range infos {
        tx.Model(&info).Where("id = ?", info.ID).Updates(info)
    }
    err = tx.Commit().Error
    return err
}

很想知道是否有人找到了此类问题的解决方案。


正确答案


gorm v1 不支持批量更新。如果你想使用 gorm v1 并更新多行,那么你必须循环信息切片。 Gorm v2 支持批量更新。 Here is the documentation 相同

好了,本文到此结束,带大家了解了《批量更新 GORM 查询结果》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>