嗨,我正在使用gorp,并且希望对任何表使用select查询,而不知道它的模式,因为我使用的是查询。
db, err := sql.Open("mysql", "root:1234@tcp(localhost:3306)/information_schema")
checkErr(err, "sql.Open failed")
dbmap := &gorp.DbMap{Db: db, Dialect: gorp.MySQLDialect{}}
var data []interface{}
_, err = dbmap.Select(&data, "select * from collations")
checkErr(err, "select query failed")
fmt.Println(data)}
但是,这会导致一个错误,因为我只能传递一个struct作为要选择的第一个参数。
这将返回一个错误
选择查询失败的gorp:选择进入非结构化切片需要1列,得到6
建议我进行一些更正或任何其他选择,以便我可以对用户动态选择的任何表名使用select查询。
发布于 2016-02-19 18:25:12
如果你不知道模式,不要用GORP .为什么?因为GORP是一个映射器,它需要一个源和一个目标字段来知道如何处理数据,如果你没有传递一个目标,那么GORP真的不知道该做什么。
但是,您可以使用标准SQL包来完成这一任务。有关更多信息,请参见此答案: from ...)
https://stackoverflow.com/questions/35511920
复制相似问题