最近在用golang 操作一个数据库, 准备读取数据库中某个表( 例如pricerecord表)的表结构,然后放在内存的哈希表中。摸索了一下如何用gorm查询一个表的列名和列属性:
mysql 里可以用 “desc tablename” 来获取表的信息,这里返回值是:
{ Field,Type,Null,Key,Default,Extra}, 返回项均是string类型!
因此定义
type tabel_infor struct{
Field string
Type string
Null string
Key string
Default string
Extra string
}
然后用gorm 的原生查询
var Pricerecord []tabel_infor
dbin.Raw("desc pricerecord").Scan(&Pricerecord)
for _,v:=range(Pricerecord){
fmt.Println(v)
}
输出结果是:
{number int YES }
{name varchar(255) YES }
{price float YES }
{discription varchar(255) YES }
下一步生成哈希表(待补充)