基本上,在事先不知道查询的结果结构可能是什么的情况下,我想查询数据库,并返回这样的结构(json-y)
// Rows
[
// Row 1
[
{ ColumnName: "id", Value: 1, Type: int },
{ ColumnName: "name", Value: "batman", Type: string },
...
],
// Row 2
[
{ ColumnName: "id", Value: 2, Type: int },
{ ColumnName: "name", Value: "superman", Type: string },
...
]
]
有没有办法在 golang 中使用包 database/sql 获取列的类型?
我怀疑我想做的是
- 将 interface{} 数组设为 Column() 的大小,
- 然后为每一列确定它的类型,
- 然后用指向该类型的指针填充数组,
- 然后将数组传递给 Scan()
这有点像sqlx中的这个代码示例,但首先不知道数据将填充的 Struct。