我尝试在INSERT
程序中的postgresql
数据库中执行简单的GO
操作。我的号码0
是float64
,我的数据库中有一列需要double precision
的列。我不知道我需要将数字转换为数据库以接受该值。
答案 0 :(得分:1)
PostgreSQL驱动程序可以很好地处理float64到双精度列的插入:
tmp=# \d test
Table "public.test"
Column | Type | Modifiers
--------+------------------+-----------
v | double precision |
代码:
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
"log"
)
func main() {
db, err := sql.Open("postgres", "user=alex dbname=tmp sslmode=disable")
if err != nil {
log.Fatal(err)
}
result, err := db.Exec("insert into test values ($1)", float64(0.5))
if err != nil {
log.Fatal(err)
}
fmt.Println(result)
}
然后:
tmp=# select * from test ;
v
-----
0.5
0.5
0.5
(3 rows)
问题被低估了,因为显然您提供的问题描述不够来重现问题。我已经尝试过了,但是你看到它正在发挥作用。