我有一个设置为decimal的数据库字段,而在我的Go项目中,我在选择可以使用的数据类型时遇到了问题。每次我向代码发送create reuquest时,我都会得到一个“cannot marshal 'decimal' into #golang datatype#”。
这是我的数据库模式
CREATE TABLE transaction(
organization_id timeuuid,
month text,
employee_id timeuuid,
id timeuuid,
employee_name text,
amount decimal,
deductions int,
date_approved date,
PRIMARY KEY ((organization_id, month), id)
)
我的Golang模型看起来像这样
type WageGarnishment struct {
ID gocql.UUID `json:"id"`
organizationID gocql.UUID `json:"organization_id"`
Month string `json:"month"`
Amount Float64 `json:"amount"`
Deductions uint `json:"deductions"`
EffectiveDate time.Time `json:"effective_date"`
DateApproved time.Time `json:"date_approved"`
EmployeeSummary
}
无论我的金额字段中的数据类型如何,我总是得到这个错误:
Error #01: can not marshal float64 into decimal
提前感谢您的帮助
1条答案
按热度按时间rkkpypqq1#
如果你查看Gocql包的文档,那么你会看到
decimal
Map到Go语言的infDec
数据类型(参见its doc),所以你需要使用它而不是Float64
。