登录
首页 >  Golang >  Go问答

golang 连接、操作完mysql, 对mysql的连接会自动关闭,还是必须要手动关闭?

来源:SegmentFault

时间:2023-01-27 16:11:25 248浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《golang 连接、操作完mysql, 对mysql的连接会自动关闭,还是必须要手动关闭?》,介绍一下MySQL、go,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

参考 astaxie 的代码

import ( _ "code.google.com/p/go-mysql-driver/mysql" "database/sql" "fmt" //"time" ) func main() { db, err := sql.Open("mysql", "astaxie:astaxie@/test?charset=utf8") checkErr(err) //插入数据 stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") checkErr(err) res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") checkErr(err) id, err := res.LastInsertId() checkErr(err) fmt.Println(id) //删除数据 stmt, err = db.Prepare("delete from userinfo where uid=?") checkErr(err) res, err = stmt.Exec(id) checkErr(err) affect, err = res.RowsAffected() checkErr(err) fmt.Println(affect) } func checkErr(err error) { if err != nil { panic(err) } }

求教:这段代码对数据库的连接没有主动关闭(调用 db.Close()), 是不是Go的垃圾收集自动关闭释放资源呢? 还是必须手动调用db.Close()释放资源?

正确答案

数据库的链接必须自己手动关闭的,这个和打开文件一样

今天关于《golang 连接、操作完mysql, 对mysql的连接会自动关闭,还是必须要手动关闭?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表