我需要使用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 } }}
1 回答

拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
您可以将数组作为参数传递到 Postgres 查询中。然后它是一个简单的和:unnest()update
update t
set val = u.val
from unnest(:ar_names, :ar_vals) u(name, val)
where t.name = u.name;
- 1 回答
- 0 关注
- 153 浏览
添加回答
举报
0/150
提交
取消