gpt4 book ai didi

postgresql - pq : invalid input syntax for type double precision: "$1" with Golang

转载 作者:数据小太阳 更新时间:2023-10-29 03:35:45 27 4
gpt4 key购买 nike

我正在尝试在我的 GO 程序中将一个简单的 INSERT 插入到 postgresql 数据库中。我的数字 0 是一个 float64,我的数据库中有一列需要 double precision。我不知道我需要将数字转换成什么才能让数据库接受该值。

最佳答案

PostgreSQL 驱动程序可以很好地处理将 float64 插入到 double 列中:

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)

这个问题被否决了,因为显然您提供的问题描述不足以重现该问题。我已尝试遵循,但如您所见,它正在发挥作用。

关于postgresql - pq : invalid input syntax for type double precision: "$1" with Golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31751784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com