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

我正在研究自动克隆数据库的 Golang 脚本。我正在使用 go-sql-driver,但在文档中找不到创建新数据库的方法。连接到 MySQL 需要一个 URL 方案,如:

user:password@tcp(localhost:3306)/database_name

但是数据库还不存在,我只想连接到服务器然后创建一个新的。

我怎样才能做到这一点?我必须使用另一个驱动程序?


浮云间
浏览 237回答 3
3回答

互换的青春

如果你想在不存在的情况下创建一个新的数据库,并直接在你的程序中使用它,注意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}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go