翻翻过去那场雪
您(可能)没有告诉它使用 mysql 驱动程序;db, err := sql.Open("mysql", connString)这是我的一些示例代码:var query = "INSERT IGNORE INTO blah (`col1`, `col2`, `col3`) VALUES (?, ?, ?)"r, err := db.Query(query, some_data_1, some_data_2, some_data_3)// Failure when trying to store dataif err != nil { msg := fmt.Sprintf("fail : %s", err.Error()) fmt.Println(msg) return err}r.Close() // Always do this or you will leak connections我创建了 MySQL 池(是的,它是一个池而不是一个连接):import ( // mysql driver _ "github.com/go-sql-driver/mysql" "database/sql" "fmt")connString := fmt.Sprintf("%s:%s@(%s:%d)/%s?timeout=30s", user, password, host, port, database,)db, err := sql.Open("mysql", connString)if err != nil { return nil, err}err = db.Ping() // test the pool connection(s)if err != nil { return nil, err}return db, nil // No error, return the pool connections我也强烈建议您打印出数据库连接过程和查询过程中的任何错误。可能是您正在使用驱动程序,但您没有权限,数据库已关闭等。