解决方案
db.Raw("show full columns from xxx ").Scan(&result)
获取表的详细信息
var result []utils.Column
showSql := fmt.Sprintf("show full columns from %s", in.TableName)
if err = db.Raw(showSql).Scan(&result).Error; err != nil {
l.Logger.Errorf("requestId: [%s], show full columns from %s: err: %s", in.RequestId, in.TableName, err.Error())
return ®istration.GetTableColumnsResp{
Code: int32(code.ErrDBConnShowTable),
Msg: code.ErrDBConnShowTable.String(),
}, nil
}
Column 结构体定义
// Column 结构体表示表的列信息
type Column struct {
Field string `json:"Field"` // 列名
Type string `json:"Type"` // 数据类型
Null string `json:"Null"` // 是否为空
Key string `json:"Key"` // 主键类型
Default string `json:"Default"` // 默认值
Extra string `json:"Extra"` // 额外信息
Privileges string `json:"Privileges"` // 权限信息
Comment string `json:"Comment"` // 注释信息
}
评论区