Golang构建错误:无法将* sqlx.DB分配给* sql.DB

时间:2017-08-17 14:20:47

标签: go sqlx

当我尝试构建我的项目时,它说:

./main.go:140: cannot assign *sqlx.DB to db.Conn (type *sql.DB) in multiple assignment

我在main.go中的导入:

import (
    "html/template"
    "io/ioutil"
    "net/http"
    "regexp"
    "./network"
    "log"
    "./config"
    "./db"
    "fmt"
    "github.com/jmoiron/sqlx"
)

我的db.go是:

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

var Conn *sql.DB
var Err error

来自main.go的第140行:

db.Conn, db.Err = sqlx.Open(config.Db.Type, config.Db.User+":"+config.Db.Pass+"@/"+config.Db.Name)

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

sqlx.Open返回sqlx.DB结构(here定义),该结构与package databqase/sql内的DB结构定义不同。
Conn类型更改为sqlx.DB,它应该有效。