我正在尝试使用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
答案 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