我在使用go语言的github.com/go-sql-driver/mysql驱动程序。
我打开一个数据库:
db, err := sql.Open("mysql", str)
然后我有两个函数,每个函数都被调用200次,使用以下mysql代码:
rows, err := db.Query("select name from beehives")
if err != nil {
panic(err)
}
defer rows.Close()
第二个:
err = db.QueryRow("select id, secret, shortname from beehives where shortname = ?", beehive).Scan(&id, &secre
switch {
case err == sql.ErrNoRows:
err = errors.New("Beehive '"+beehive+"' not found.")
case err != nil:
panic("loginBeehive: "+ err.Error())
default:
// ... do the work
第一个问题是panic。
当我只打开数据库一次时,为什么会有多个连接,如何关闭它们?