基本上,事先不知道查询的结果结构可能是什么,我想查询数据库,并返回这样的结构(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获取列的类型?我怀疑我想做的是使接口数组与 Column() 的大小相同,然后为每一列确定它的类型,然后用指向该类型的指针填充数组,然后将数组传递给 Scan()这有点像sqlx 中的这个代码示例,但首先不知道数据将填充的结构。
2 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
你应该可以这样做:
func printRows(rows *sql.Rows){
colTypes, err := rows.ColumnTypes()
for _,s := range colTypes {
log.Println("cols type:", s.DatabaseTypeName());
}
}
- 2 回答
- 0 关注
- 408 浏览
添加回答
举报
0/150
提交
取消