首页 > 解决方案 > PostreSQL 使用带有自定义参数的命名 exec

问题描述

需要帮助寻求建议。我正在使用库github.com/jmoiron/sqlx并想使用 funcNamedExecContext但我需要另一个参数,$如下所示:

type DummyStruct struct {
  ID int64 `json:"id" db:"id"`
  Name string `json:"name" db:"name"`
  City string `json:"city" db:"city"`
}

func main(){
  param := DummyStruct{
    Name: "a",
    City: "b",
  }
  _, err := db.NamedExec(fmt.Sprintf(`UPDATE tableDummy SET name = :name, city = :city WHERE id in (%s)`, "1,2,3"), param)
}

所以像上面的例子一样,我需要实现绑定结构和占位符参数$,因为使用%s会导致 SQL 注入的机会。

所以我尝试像这样使用它UPDATE tableDummy SET name = :name, city = :city WHERE id in ($1)-> 这是可能的吗?

标签: sqlpostgresqlgo

解决方案


推荐阅读