在 postgresql 中更改多行

我需要使用2个数组更改数据库中的行,第一个存储我需要更改的行的名称,第二个存储val。我已经添加了代码,以了解我想做什么。我可以用1个请求到我的DB来做到这一点吗?


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

        }

    }

}


森林海
浏览 154回答 1
1回答

拉风的咖菲猫

您可以将数组作为参数传递到 Postgres 查询中。然后它是一个简单的和:unnest()updateupdate t    set val = u.val    from unnest(:ar_names, :ar_vals) u(name, val)    where t.name = u.name;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go