postgres操作
package postgres import ( "database/sql" "sync"
_ "github.com/lib/pq"
) var ( db *sql.DB oncePg sync.Once ) func InitPostgres(host, user, password, dbname string, port pool int) *sql.DB{ var err error if pool == 0 { pool = 10 } ens := "host=%s port=%d user=%s password=%s dbname=%s sslmode=disable" pgEns := fmt.Sprintf(ens, host, port, user, password, dbname) oncePg.Do(func(){ db, err = sql.Open("postgres") db.SetMaxOpenConns(pool) }) if err != nil { panic(err) } // defer db.Close()//defer关闭数据库连接 return db } func UpdateCache() { rows, err := db.Query("select a,b,c,d::varchar,e,f,g,h::varchar from hero_info " + "join e_setting on c=ccc where b::varchar = '1'") if err != nil { panic(err) } defer rows.Close() for rows.Next() { var ( id, n, pr int r1, rw, re, re, r5 string state bool ) err := rows.Scan(&id, &r1, &r2, &pr, &n, &r3, &r4, &r5) if err != nil { panic(err) } err = rows.Err() if err != nil { panic(err) } }
posted on 2021-11-19 16:41 myworldworld 阅读(36) 评论(0) 收藏 举报