基本上,在事先不知道查询的结果结构可能是什么的情况下,我想查询数据库,并返回这样的结构(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 },
...
]
]
Run Code Online (Sandbox Code Playgroud)
有没有办法在golang中使用database/sql包获取列的类型?
我怀疑我想做的是
这有点像sqlx中的代码示例,但首先不知道数据将填充的结构。
小智 6
你应该能够这样做:
func printRows(rows *sql.Rows){
colTypes, err := rows.ColumnTypes()
for _,s := range colTypes {
log.Println("cols type:", s.DatabaseTypeName());
}
}
Run Code Online (Sandbox Code Playgroud)