如何使用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"`
....
}
答案 0 :(得分:1)
有不同的方法可以做到这一点,我所做的一种方法是创建键和值数组,然后您可以使用这些数组来迭代并使用占位符构建查询。
然后,您将使用可变参数填充占位符。
它看起来像这样
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