You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入github仓库的go-sql-driver/mysql包时报错该如何解决?

Go导入go-mysql-driver报错解决方案

报错说明

could not import github.com/go-sql-driver/mysql (no required modules provides package "github.com/go-sql-driver/mysql")

问题原因

Go 1.11及以上版本默认使用Go Modules管理项目依赖,即使全局安装了驱动包,如果没有在当前项目的依赖声明文件(go.mod)中添加该依赖,项目依然无法识别导入。

排查解决步骤

  • 第一步:初始化项目模块(未初始化过的项目执行)
    进入项目根目录,执行命令:
    go mod init <你的项目名称>
  • 第二步:添加mysql驱动依赖到当前项目
    执行命令:
    go get github.com/go-sql-driver/mysql
  • 第三步:国内用户如果拉取依赖失败,可先切换国内代理再重新执行上一步:
    go env -w GOPROXY=https://goproxy.cn,direct
  • 第四步:整理依赖同步缺失包
    执行命令:
    go mod tidy

执行完以上步骤后重启IDE即可解决导入报错问题。

关联业务代码

package model

import (
    "database/sql"
    "fmt"

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

type Table interface {
    Name() string
    Field() ([]string, []interface{})
}

func Connect(username string, password string, host string, database string) (*sql.DB, error) {
    conn := fmt.Sprintf("%s:%s@tcp(%s:3306)/%s", username, password, host, database)
    db, err := sql.Open("mysql", conn)
    return db, err
}

func CreateDB(db *sql.DB, name string) error {
    query := fmt.Sprintf("CREATE DATABASE %v", name)
    _, err := db.Exec(query)
    return err
}

func CreateTable(db *sql.DB, query string) error {
    _, err := db.Exec(query)
    return err
}

func DropDB(db *sql.DB, name string) error {
    query := fmt.Sprintf("DROP DATABASE  %v", name)
    _, err := db.Exec(query)
    return err
}

内容的提问来源于stack exchange,提问作者Jarsada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:06:04