您好我正在使用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)
}
但是这会导致错误,因为我只能将结构作为第一个参数传递给选择
这会返回错误
选择查询失败的gorp:select into non-struct slice需要1列,得到6
建议我进行一些更正或任何其他替代方案,以便我可以对用户动态选择的任何表名使用select查询
答案 0 :(得分:-1)
如果您不了解架构,请不要使用GORP ......为什么?因为GORP是一个映射器,如果你没有传递目标,它需要一个源和一个目标字段来了解如何处理数据然后GORP真的不知道该怎么做。
但是,您可以使用标准SQL包执行此操作。有关详细信息,请参阅此答案:sql: scan row(s) with unknown number of columns (select * from ...)