我如何使用 go标准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"` ....}
1 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
有不同的方法可以做到这一点,我所做的其中一种方法是创建键和值的数组,然后您可以使用它们来迭代并使用占位符构建查询。
然后,您将使用可变参数来填充占位符。
它看起来像这样
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...)
这个游乐场展示了类似的东西 fmt.Printf
http://play.golang.org/p/NruF92EJqM
- 1 回答
- 0 关注
- 133 浏览
添加回答
举报
0/150
提交
取消