使用gorm, 或者sqlx链接数据库出现sql: unknown driver “postgres” (forgotten import?)
错误,导致数据库不能链接上,原因在于
gorm.Open(“postgres”, " ")下postgres无法被程序解析, 解决方案:
import _ “github.com/lib/pq” // 数据库驱动
简单demo
import (
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/lib/pq" // 数据库驱动不引入这个包无法链接上数据库
)
func main() {
db, err := gorm.Open("postgres", "host=127.0.0.1 port=5432 user=user password=password dbname=dbname sslmode=disable ")
if err != nil {
fmt.Println("数据库链接错误", err)
return
}
// 操作数据库
// 查询
type User struct{
Name string `gorm:"name" json:"name"`
Age int `gorm:"age" json:"age"`
Sex string `gorm:"sex" json:"sex"`
}
user := make([]User, 0)
if err := db.Table("").Find(&user).Error; err != nil {
fmt.Println("查询数据库错误", err)
return
}
fmt.Println("查询数据库错误", user)
// 设置最大链接数
db.DB().SetMaxOpenConns(10)
// 关闭数据库链接
defer db.Close()
}