2016-02-19 25 views
2

嗨,我使用GORP並希望使用select查詢任何表,而實際上知道它的模式 爲我使用的查詢去 - 我如何使用GORP選擇一個空的接口

db, err := sql.Open("mysql", "root:[email protected](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:選擇成非結構切片要求1列,得到了6

建議我一些修正或任何其他替代,這樣我可以由用戶

動態選擇的任何表名稱中使用選擇查詢

回答

-1

如果您不知道架構,請不要使用GORP ...爲什麼?因爲GORP是一個映射器,它需要一個和一個目標字段知道如何處理數據,如果你沒有通過目標那麼GORP真的不知道該怎麼做。

但是,您可以使用標準SQL程序包來執行此操作。查看此答案以獲取更多信息:sql: scan row(s) with unknown number of columns (select * from ...)