您如何INSERT
为 pq postgres 驱动程序的准备语句使用动态表名?目前我有一个带有id SERIAL
和values TEXT
列的测试表,这个语句失败了:
stmt, err := db.Prepare("INSERT INTO $1(values) VALUES($2);")
if err != nil {
log.Fatal(err)
}
这是失败的:
pq:“$1”处或附近的语法错误
如果我只能对值使用占位符而不是表名,有没有办法在Sprintf
这里使用?表名包含string
来自用户的输入,虽然我可以对其进行清理,但与让 Postgres 在准备好的语句上返回错误相比,它会减慢插入速度。