gpt4 book ai didi

sql - 是否可以在执行查询时传入参数数组而不是单独传递每个参数?

转载 作者:数据小太阳 更新时间:2023-10-29 03:12:09 25 4
gpt4 key购买 nike

有谁知道在执行查询时是否可以传递参数数组而不是单独传递每个参数?所以不是:

query = “select * from grid where test1 = ? AND test2 = ?”
g.DB.Query(query, params[0], params[1])

类似于:

query = “select * from grid where test1 = ? AND test2 = ?”
g.DB.Query(query, params)

我试过像这样打开 slice :

g.DB.Query(query, params...)

但是报错:

cannot use parameters (type []string) as type []interface {} in argument to g.DB.Query

最佳答案

你几乎拥有它。您只需要将 params 作为 []interface{} 而不是 []string。更像这样:

var params []interface{}
params = append(params, strs[0], strs[1])

或者也许:

params := make([]interface{}, len(strs))
for i, s := range strs {
params[i] = s
}

如果您事先不知道您将拥有多少个字符串。然后你可以解压/展开你的 params slice :

g.DB.Query(query, params...)

它会起作用,因为此版本的 params 将具有正确的类型。

关于sql - 是否可以在执行查询时传入参数数组而不是单独传递每个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48630209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com