我对 golang 很陌生。我正在尝试使用网络应用程序 gin-gonic 插入到具有数字字段的 postgresql 表中。
postgres=# \d user_txns;
Table "public.user_txns"
Column | Type | Collation | Nullable | Default
-------------+-----------------------+-----------+----------+---------
user_id | character varying(15) | | not null |
txn_code | smallint | | not null |
description | character varying(64) | | not null |
txn_amount | numeric(15,4) | | not null |
txn_type | smallint | | not null |
voucher | character varying(16) | | |
我正在使用 jackc pgxpool 插入到表中,如下所示。
109 ▏ sql := `INSERT INTO user_txns VALUES ($1,$2, $3, $4, $5)`
▎ 110 ▏ _, err = tx.Exec(context.Background(), sql,
▎ 111 ▏ ▏ ▏ ▏ ▏ ▏ claims["phone"],
▎ 112 ▏ ▏ ▏ ▏ ▏ ▏ recharge,
▎ 113 ▏ ▏ ▏ ▏ ▏ ▏ "User recharge",
▎ 114 ▏ ▏ ▏ ▏ ▏ ▏ recharge.Amount,
▎ 115 ▏ ▏ ▏ ▏ ▏ ▏ credit,
▎ 116 ▏ )
▎ 117 ▏ if err != nil {
▎ 118 ▏ ▏ c.JSON(http.StatusInternalServerError, gin.H{"msg": err.Error()})
▎ 119 ▏ ▏ return
▎ 120 ▏ },
有效负载是具有以下结构的 json 请求:
{
"amount": 125.00
}
我将请求解组为如下定义的结构。
type Recharge struct {
Amount string `json:"amount" binding:"required"`
}
插入失败并出现错误
"msg": "无法将 {125} 转换为 Int2"
用于插入小数字段的正确 golang 数据类型是什么?
谢谢
潇潇雨雨
相关分类