未选择Golang MySQL数据库 [英] Golang MySQL Database Not Selected
本文介绍了未选择Golang MySQL数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用 github.com/go-sql-driver/mysql
包连接到MySQL.效果很好,除了当我选择数据库( USE
)时,无法对它运行查询.
I'm using github.com/go-sql-driver/mysql
package to connect to MySQL. It works well except when I select a database (USE
), I can't run queries against it.
package main
import (
"database/sql"
"fmt"
"log"
)
import _ "github.com/go-sql-driver/mysql"
func main() {
dsn := "root:@/"
db, err := sql.Open("mysql", dsn)
if err != nil {
fmt.Println("Failed to prepare connection to database. DSN:", dsn)
log.Fatal("Error:", err.Error())
}
err = db.Ping()
if err != nil {
fmt.Println("Failed to establish connection to database. DSN:", dsn)
log.Fatal("Error:", err.Error())
}
_, err = db.Query("USE test")
if err != nil {
fmt.Println("Failed to change database.")
log.Fatal("Error:", err.Error())
}
_, err = db.Query("SHOW TABLES")
if err != nil {
fmt.Println("Failed to execute query.")
log.Fatal("Error:", err.Error())
}
}
程序产生以下输出:
错误1046:未选择数据库
推荐答案
直接在sql.Open函数的DSN(数据源名称)部分中指定数据库:
Specify the database directly in the DSN (Data Source Name) part of the sql.Open function:
dsn := "user:password@/dbname"
db, err := sql.Open("mysql", dsn)
这篇关于未选择Golang MySQL数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文