登录
首页 >  Golang >  Go问答

在 postgresql 中更改多行

来源:stackoverflow

时间:2024-04-23 14:18:20 463浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《在 postgresql 中更改多行》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

我需要使用 2 个数组更改数据库中的行,第一个存储我需要更改的行的名称,第二个存储 val。我添加了代码,以了解我想要做什么。我可以通过向数据库发出 1 个请求来完成此操作

func update_1(){
    key := []string{"Name1", "Name2", "Name4"}
    val := []string{"1", "2", "4"}
    for i, _ := range key{
        _, err := db.Exec("UPDATE table SET val = $1 WHERE name = $2",val[i], key[i])
        if err != nil {
            errorLog.Println(err)
            return
        }
    }
}

正确答案


您可以将数组作为参数传递到 postgres 查询中。然后就是简单的unnest()update

update t
    set val = u.val
    from unnest(:ar_names, :ar_vals) u(name, val)
    where t.name = u.name;

今天关于《在 postgresql 中更改多行》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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