我在golang上安装了一个Postgresql服务器,我想循环查询batabase
Ubuntu 18.04 // psql 10.8 // Go 1.8
我想在数据库中写10行
func add_row(num int){
var ip string
ip = string(num)
_, err := db.Exec("INSERT INTO devices (ip) VALUES ("+ ip + ")")
if err != nil {
return
}
}
func main() {
var i int
i = 1
for ; i < 10; i++{
add_row(i)
}
}
它编译成功,没有错误,但是我的代码没有在数据库中创建新行
!!!!!!!!!!!!!!!!!!!!!!!!!!!解决了!!!!!!!!!!!!!!!!!!!!!!!!
它来自int / string的字节形式。 该代码有效:
package main
import (
_ "github.com/lib/pq"
"database/sql"
"log"
"fmt"
"strconv"
)
var db *sql.DB
func init() {
var err error
db, err = sql.Open("postgres", "dbname=my_db user=postgres passsword=pfghfg host=localhost sslmode=disable")
if err != nil {
log.Fatal(err)
}
if err = db.Ping(); err != nil {
log.Fatal(err)
}
}
func add_row(num int){
x := strconv.Itoa(num)
y := []byte(x)
_, err := db.Exec("INSERT INTO devices (ip) VALUES ("+ string(y) + ")")
if err != nil {
return
}
}
func main() {
var i int
i = 1
for ; i < 10; i++{
add_row(i)
}
}