https://blog.csdn.net/neweastsun/article/details/105903711

https://studygolang.com/articles/18516?fr=sidebar

https://www.cnblogs.com/yxi-liu/p/8546755.html
https://blog.csdn.net/weixin_29696567/article/details/114500199

在init方法中调用Open方法:

func init()  {
	db, err = sql.Open("mysql", "root:a123@/sakila?charset=utf8&parseTime=true")
	checkErr(err)
}

检查错误方法:

func checkErr(err error) {
	if err != nil {
		panic(err)
	}
}
type Field struct {
	fieldName string
	fieldDesc string
	dataType  string
	isNull    string
	length    int
}
func FieldInfo(dbName,tableName string) [] Field{
	sqlStr := `SELECT COLUMN_NAME fName,column_comment fDesc,DATA_TYPE dataType,
						IS_NULLABLE isNull,IFNULL(CHARACTER_MAXIMUM_LENGTH,0) sLength
			FROM information_schema.columns 
			WHERE table_schema = ? AND table_name = ?`


	var result [] Field
	
	rows, err := db.Query(sqlStr,dbName,tableName)
	checkErr(err)

	for rows.Next() {
		var f Field
		err = rows.Scan(&f.fieldName, &f.fieldDesc, &f.dataType, &f.isNull, &f.length)
		checkErr(err)

		result = append(result, f)
	}
	return result
}
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐