在系统安装好mysql,go以及mysql-go的驱动之后,需要做的就是连接mysql,给个简短的连接数据库代码如下:
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "user:password@/test")//对应数据库的用户名和密码
defer db.Close()
if err != nil {
panic(err)
} else {
fmt.Println("success")
}
rows, err := db.Query("SELECT number FROM squarenum")
if err != nil {
panic(err)
return
}
for rows.Next() {
var name int
err = rows.Scan(&name)
if err != nil {
panic(err)
}
fmt.Println(name)
}
}
以上代码是默认情况下的连接方式,但在某种状况下,上述方式连接不上的时候,而且提示:
<span style="font-size:14px;">panic: runtime error: invalid memory address or nil pointer dereference</span>
经过查阅多方资料,找到的答案是指定具体连接mysql的方式有三种不同代码:

本文介绍了在Go中连接MySQL的三种方法,包括通过UNIX socket、TCP/IP和默认方式,并强调了端口号的限制。同时,文章提到了MySQL用户管理中的常见问题,如多个root用户、主机名的差异以及连接错误。通过理解这些概念,可以帮助开发者解决连接问题。
1万+

被折叠的 条评论
为什么被折叠?



