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

如何使用 go-sql-driver 创建一个新的 MySQL 数据库

如何使用 go-sql-driver 创建一个新的 MySQL 数据库

Go
浮云间 2021-10-04 17:40:57
我正在研究自动克隆数据库的 Golang 脚本。我正在使用 go-sql-driver,但在文档中找不到创建新数据库的方法。连接到 MySQL 需要一个 URL 方案,如:user:password@tcp(localhost:3306)/database_name但是数据库还不存在,我只想连接到服务器然后创建一个新的。我怎样才能做到这一点?我必须使用另一个驱动程序?
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

如果你想在不存在的情况下创建一个新的数据库,并直接在你的程序中使用它,注意database/sql维护一个连接池。


因此打开的数据库连接,最好应该包含数据库名称。我已经看到手动使用后"Error 1046: No database selected"何时database/sql打开新连接db.Exec("USE "+name)。


func createAndOpen(name string) *sql.DB {


   db, err := sql.Open("mysql", "admin:admin@tcp(127.0.0.1:3306)/")

   if err != nil {

       panic(err)

   }

   defer db.Close()


   _,err = db.Exec("CREATE DATABASE IF NOT EXISTS "+name)

   if err != nil {

       panic(err)

   }

   db.Close()


   db, err = sql.Open("mysql", "admin:admin@tcp(127.0.0.1:3306)/" + name)

   if err != nil {

       panic(err)

   }

   defer db.Close()

   return db

}


查看完整回答
反对 回复 2021-10-04
  • 3 回答
  • 0 关注
  • 236 浏览
慕课专栏
更多

添加回答

举报

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