分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
```go
var DB *sql.DB
//注意方法名大写,就是public
func InitDB() {
//构建连接:"用户名:密码@tcp(IP:端口)/数据库?charset=utf8"
path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")
//打开数据库,前者是驱动名,所以要导入: _ "github.com/go-sql-driver/mysql"
DB, _ = sql.Open("mysql", path)
//设置数据库最大连接数
DB.SetConnMaxLifetime(2000)
//设置上数据库最大闲置连接数
DB.SetMaxIdleConns(1000)
//验证连接
if err := DB.Ping(); err != nil {
fmt.Println("opon database fail")
//return
}
fmt.Println("connnect success")
}
func Getselect(url string) int {
//开启事务
tx, err := DB.Begin()
if err != nil {
fmt.Println("tx fail2", err)
return 1
}
stmt, err := tx.Prepare("SELECT id FROM yi08 WHERE url = ?")
if err != nil {
//log.Fatal(err)
stmt.Close()
fmt.Println(err)
return 1
}
rows, err := stmt.Query(url)
id := 0
for rows.Next() {
if err := rows.Scan(&id); err != nil {
//log.Fatal(err)
fmt.Println(err)
return 1
}
// fmt.Printf("name:%s ,id:is %d\n", name, id)
}
defer rows.Close()
return id
}
func main() {
InitDB()
for{
id := Getselect("http://xxxxxxxxxxx")
fmt.Println(id)
}
}
```
这个求大神解决,过一会就提示 Too many connections
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1608 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传