为了账号安全,请及时绑定邮箱和手机立即绑定

我们还应该关闭 Golang 中的 DB 的 .Prepare() 吗?

我们还应该关闭 Golang 中的 DB 的 .Prepare() 吗?

Go
海绵宝宝撒 2021-09-09 15:20:39
从本教程中rows.Closed()可以看出,必须调用 where rowsis from stmt.Query(),stmt.Closed()也应该调用 where stmtis from db.Prepare()?// inside a functionstmt, err := db.Prepare(cmd) // cmd is SQL stringCheck(err)// should we add: defer stmt.Close()rows, err := stmt.Query(params) // params is map/interface{}defer rows.Close()Check(err)
查看完整描述

2 回答

?
森栏

TA贡献1810条经验 获得超5个赞

简短的回答是肯定的。你应该调用 stmt.Close();

可以在此 google 群组线程中找到长答案


查看完整回答
反对 回复 2021-09-09
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

使用如下


// inside a function

stmt, err := db.Prepare(cmd) // cmd is SQL string

if err != nil {

    println(err.Error())

}

defer stmt.Close()

rows, err := stmt.Query(params) // params is map/interface{}


if err != nil {

    println(err.Error())

}


查看完整回答
反对 回复 2021-09-09
  • 2 回答
  • 0 关注
  • 229 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信