我有一个 MariaDB 表字段,其数据类型为“double”且具有默认属性
CREATE TABLE
`id` INT NOT NULL AUTO_INCREMENT,
`date` DATE NOT NULL,
`available_percentage` DOUBLE,
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
另一方面,我在程序中定义了一个结构体
type A struct {
ID uint `gorm:"primaryKey"`
AvailablePercentage float64
Date string `gorm:"primaryKey;index"`
}
当我尝试使用
向该表插入新记录时&A{
Date: "2024-10-09",
AvailablePercentage: float64(99.55),
}
我总是在该字段中得到值 0。 我尝试使用其他号码,例如100、99.55000 等没有什么不同。
有人可以告诉我的结构或我的 MariaDB 表字段定义有什么问题吗?
使用 GORM,你可以像这样定义模型:
type A struct {
gorm.Model // ID, CreatedAt, UpdatedAt, DeletedAt
Percentage float64 `json:"percentage" gorm:"type:decimal(10,2);"`
Date *time.Time `json:"date" gorm:"column:date"`
}