为了账号安全,请及时绑定邮箱和手机立即绑定

使用 GoLang 与 mysql 连接失败

使用 GoLang 与 mysql 连接失败

Go
凤凰求蛊 2021-12-27 17:52:55
我正在尝试使用 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
查看完整描述

3 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

对于由于错误sql: unknown driver "mysql" (forgotten import?)而访问此页面的其他人,该database/sql包必须与数据库驱动程序结合使用。这意味着除了导入database/sql包之外,您还需要导入一个数据库驱动程序

例如,对于 mysql,您可以使用包go-sql-driver。通常,您使用下划线_符号导入此包,这意味着导入它只是为了它的副作用:

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

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


查看完整回答
反对 回复 2021-12-27
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

再试一次,但请注意我的笔记:


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”,因为它没有被使用。这可能是导致“导入但未使用”错误的原因。


查看完整回答
反对 回复 2021-12-27
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

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


查看完整回答
反对 回复 2021-12-27
  • 3 回答
  • 0 关注
  • 228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信