当前位置: > > > > 在 postgresql 中更改多行
在 postgresql 中更改多行
来源:stackoverflow
2024-04-23 14:18:20
0浏览
收藏
小伙伴们有没有觉得学习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 中更改多行》的内容介绍就到此结束,如果有什么疑问或者建议,可以在米云公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
