gpt4 book ai didi

go - INSERT INTO MyTable(姓名,年龄,...)

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

我如何使用 go standard 构建它? sql包让其他人可以阅读吗?我需要添加很多字段。

result, err := db.Exec(
"INSERT INTO MyTable (name, age, ...ALLLOOOT...) VALUES ($1, $2, ...ALLLOOOT...)",
"gopher",
27,
...ALLLOOOT...
)

编辑:奖金问题,你能使用这样的东西并从 db:"..." 中提取字段名称吗?

type MyTable struct {
Age int64 `db:"age" json:"age"`
Name string `db:"name" json:"name"`
....
}

最佳答案

有不同的方法可以做到这一点,我做过的一种方法是创建键和值的数组,然后您可以使用它们来迭代和构建带有占位符的查询。

然后您将使用可变参数来填充占位符。

看起来像这样

keys := []string{"your", "keys", ...}
values := []interface{}{1, "two", ...}
placeholders := make([]string, len(values))
for idx := range values {
placeholders[idx] = "?"
}
query := fmt.Sprintf("INSERT INTO (%s) VALUES (%s)", strings.Join(keys, ", "), strings.Join(placeholders, ", "))

result, err := db.Exec(query, values...)

这个 Playground 展示了使用 fmt.Printf 完成的类似操作

http://play.golang.org/p/NruF92EJqM

关于go - INSERT INTO MyTable(姓名,年龄,...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34757726/

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