我正在尝试从go中插入redshift中的数据。我的问题是
INSERT INTO wootric_nps.responses_updated (response_id,response_score,response_text,response_date,response_product) VALUES (?,?,?,?,?)
我传递的参数是[11 11 a a a](它们的类型是int,int,string,string,string。这与数据库模式匹配)
当我执行查询时,我遇到了这个问题:
语法错误在“,”
处或附近
完成整个事情的代码是
insertbuilder := sq.Insert("wootric_nps.responses_updated").Columns("response_id", "response_score", "response_text", "response_date", "response_product")
a := 11
b := "a"
insertbuilder = insertbuilder.Values(a, a, b, b, b)
stmt, vals, err := insertbuilder.ToSql()
_, err = db.Exec(stmt, vals...)
if err != nil {
log.Println(err)
}
我刚刚在这里使用了演示变量。
有人能指出我在查询中做错了吗?
编辑:
我得到了解决方案。 postgres的占位符是$,因此查询应为($1,$2,$3,$4,$5)