41 lines
974 B
Go
41 lines
974 B
Go
|
|
/*
|
|||
|
|
* @Author : huangzj
|
|||
|
|
* @Time : 2020/4/27 11:43
|
|||
|
|
* @Description:
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
package tableField
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"database/sql"
|
|||
|
|
"log"
|
|||
|
|
"strings"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* @param
|
|||
|
|
* @return
|
|||
|
|
* @description 在连接数据库的情况下进行数据库表的字段信息查询
|
|||
|
|
* 这边的sql查询语句是:show full columns from [数据库名].[表名]
|
|||
|
|
*/
|
|||
|
|
func FindColumnMessage(dbName string, tableName string, db *sql.DB) ([]ColumnMessage, error) {
|
|||
|
|
var cms []ColumnMessage
|
|||
|
|
|
|||
|
|
row, err := db.Query(strings.Join([]string{"show full columns from ", dbName, ".", tableName}, ""))
|
|||
|
|
if err != nil {
|
|||
|
|
log.Printf("数据库查询出错:" + err.Error())
|
|||
|
|
return nil, err
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
for row.Next() {
|
|||
|
|
var cm ColumnMessage
|
|||
|
|
err := row.Scan(&cm.Field, &cm.Type, &cm.Collation, &cm.Null, &cm.Key, &cm.Default, &cm.Extra, &cm.Privileges, &cm.Comment)
|
|||
|
|
if err != nil {
|
|||
|
|
log.Printf("字段赋值错误了" + err.Error())
|
|||
|
|
return nil, err
|
|||
|
|
}
|
|||
|
|
cms = append(cms, cm)
|
|||
|
|
}
|
|||
|
|
return cms, nil
|
|||
|
|
}
|