您好,我正在使用 gorp 并想在不知道其模式的情况下对任何表使用选择查询 为此,我正在使用查询
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)
但是这会导致错误,因为我只能将结构作为第一个参数传递给 select
这会返回一个错误
select query failed gorp: select into non-struct slice requires 1 column, got 6
建议我一些更正或任何其他替代方案,以便我可以对用户动态选择的任何表名使用选择查询
最佳答案
如果您不知道架构,请不要使用 GORP ... 为什么?因为 GORPs 是一个映射器,它需要一个 source 和一个 target 字段来知道如何处理数据,如果你不传递一个 target然后GORP真的不知道该怎么办了。
但是,您可以使用标准 SQL 包来执行此操作。有关详细信息,请参阅此答案:sql: scan row(s) with unknown number of columns (select * from ...)
关于mysql - go - 如何使用 gorp select 获取空界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35511920/