使用GoLang与mysql连接失败

时间:2016-03-28 04:59:07

标签: mysql go

我正在尝试使用Go语言连接MySql数据库并给我以下错误。

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

3 个答案:

答案 0 :(得分:8)

再试一次,但请查看我的注意事项:

package main

import (
    "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"因为它未被使用这可能是您导入和未使用的原因"错误。

答案 1 :(得分:8)

对于因错误而导致访问此页面的其他人 sql:unknown driver" mysql" (忘记导入?)database/sql包必须与数据库驱动程序一起使用。这意味着除了导入database/sql软件包,还需要导入数据库驱动程序

例如,对于mysql,您可以使用包go-sql-driver。通常,您使用下划线_表示法导入此包,这意味着它仅为其副作用导入:

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

您可以阅读更多相关信息,并在下面找到SQL驱动程序列表:

答案 2 :(得分:0)

尝试重新检查软件包的位置。当我手动将此软件包添加到项目中时,我犯了一个错误。最好从此软件包中清除GOROOT和GOPATH并按照源中的指示重新安装/重新连接: https://github.com/go-sql-driver/mysql