猿问

使用 GoLang 与 mysql 连接失败

我正在尝试使用 Go 语言连接 MySql DB 并出现以下错误。


sql: unknown driver "mysql" (forgotten import?)

我的代码


package main


    import (

        "database/sql"

        "fmt"

    )


func main() {

    db, err := sql.Open("mysql", "astaxie:astaxie@/test?charset=utf8")

    checkErr(err);

    err=db.Ping();

}

当我导入时


        _ "github.com/go-sql-driver/mysql"

我收到错误


imported and not used


凤凰求蛊
浏览 229回答 3
3回答

翻翻过去那场雪

对于由于错误sql: unknown driver "mysql" (forgotten import?)而访问此页面的其他人,该database/sql包必须与数据库驱动程序结合使用。这意味着除了导入database/sql包之外,您还需要导入一个数据库驱动程序。例如,对于 mysql,您可以使用包go-sql-driver。通常,您使用下划线_符号导入此包,这意味着导入它只是为了它的副作用:import _ "github.com/go-sql-driver/mysql"您可以阅读有关此内容的更多信息,并在下面找到 SQL 驱动程序列表:https://golang.org/pkg/database/sql/https://github.com/golang/go/wiki/SQLDrivers

潇潇雨雨

再试一次,但请注意我的笔记:package mainimport (    "database/sql"    _ "github.com/go-sql-driver/mysql")// NOTE - I removed the import for "fmt" because it was unused.func main() {    db, err := sql.Open("mysql", "astaxie:astaxie@/test?charset=utf8")    checkErr(err);    err=db.Ping();    // NOTE - the above line will trigger an error because err is unused.}我添加了 MySQL 驱动程序的导入并删除了“fmt”,因为它没有被使用。这可能是导致“导入但未使用”错误的原因。

开心每一天1111

尝试重新检查包的位置。我手动把这个包添加到项目中的时候就犯了这样的错误。最好从这个包中清除 GOROOT 和 GOPATH 并按照源代码中的说明重新安装/重新连接它:https : //github.com/go-sql-driver/mysql
随时随地看视频慕课网APP

相关分类

Go
我要回答