使用GoLang与mysql连接失败

Mr *_*r x 6 mysql go

我试图使用Go语言连接MySql数据库并给我以下错误.

sql: unknown driver "mysql" (forgotten import?)
Run Code Online (Sandbox Code Playgroud)

我的守则

package main

    import (
        "database/sql"
        "fmt"
    )

func main() {
    db, err := sql.Open("mysql", "astaxie:astaxie@/test?charset=utf8")
    checkErr(err);
    err=db.Ping();
}
Run Code Online (Sandbox Code Playgroud)

当我导入时

        _ "github.com/go-sql-driver/mysql"
Run Code Online (Sandbox Code Playgroud)

我收到了错误

imported and not used
Run Code Online (Sandbox Code Playgroud)

Kyl*_*dha 14

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

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

import _ "github.com/go-sql-driver/mysql"
Run Code Online (Sandbox Code Playgroud)

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


Sur*_*ams 11

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

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.
}
Run Code Online (Sandbox Code Playgroud)

我添加了MySQL驱动程序的导入并删除了"fmt",因为它未被使用.这可能是导致"导入和未使用"错误的原因.