gpt4 book ai didi

mysql - (go-sql-driver/mysql) packets.go 中意外的 EOF 和繁忙缓冲区

转载 作者:IT王子 更新时间:2023-10-29 01:41:14 43 4
gpt4 key购买 nike

尽管设置了 SetConnMaxLifetime,但我在 go-sql-driver/mysql 中收到了 unexpected EOF and busy buffer 错误,SetMaxIdleConnsSetMaxOpenConns 建议 here .谁能告诉我这个问题的正确解决方案似乎对我没有任何作用?

db, err := sql.Open("mysql", "USERNAME:PASSWORD@tcp(IP:PORT)/DB?charset=utf8")
checkErr(err)
db.SetConnMaxLifetime(time.Second * 5)
db.SetMaxIdleConns(0)
db.SetMaxOpenConns(151)

rows, err := db.Query("Select col1, col2, col3 from tbl")
checkErr(err)

for rows.Next() {
var col1 string
var col2 int32
var col3 uint64

err = rows.Scan(&col1, &col2, &col3)
checkErr(err)
Process(col1, col2, col3)

}

最佳答案

我设置了一个本地 MySQL 数据库并运行了您的代码:

package main

import (
"database/sql"
"fmt"
"log"
"time"

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

func main() {
db, err := sql.Open("mysql", "root@tcp(localhost)/test?charset=utf8")
if err != nil {
log.Fatalln(err)
}

db.SetConnMaxLifetime(time.Second * 5)
db.SetMaxIdleConns(0)
db.SetMaxOpenConns(151)

rows, err := db.Query("SELECT col1, col2, col3 FROM tbl2")
if err != nil {
log.Fatalln(err)
}

for rows.Next() {
var col1 string
var col2 int32
var col3 uint64

err = rows.Scan(&col1, &col2, &col3)
if err != nil {
log.Fatalln(err)
}

fmt.Println(col1, col2, col3)
}
}

..它对我来说效果很好。我的 CREATE TABLE 语句如下所示:

CREATE TABLE `tbl2` (
`col1` varchar(25) DEFAULT NULL,
`col2` int(11) DEFAULT NULL,
`col3` bigint(20) unsigned DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

你的表结构是什么样的?

关于mysql - (go-sql-driver/mysql) packets.go 中意外的 EOF 和繁忙缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47406876/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com