我在gorm中有一个事务表,看起来像这样:
type Transaction struct {
gorm.Model
UserID string `gorm:"index"`
TradeID int
Trade Trade
ExternalID string
Amount float32
Type string
Description string
}
我正在尝试插入一个没有交易的交易:
DB.Create(&Transaction{UserID: "user-1", Type: "unblock", Amount: 50})
这失败是因为Transaction结构将键的int值默认为0,所以插入在db级失败,因为我没有id = 0的trade。
我该怎么做?
2条答案
按热度按时间nafvub8i1#
您可以将
TradeID
更改为指针,因此默认值为nil
。gkl3eglg2#
使用gorm结构注解:gorm:“default:null”而不是指针。
AccountChangeCategoryID可能为null的示例: