用gorm进行查询,数据库里值为null的字段在struct里怎么保持还是null?struct会默认变成空字符串或者0这种
err := db.Where("id = ?", id).First(&activity).Error
{"id": 30, "name": null}
数据库的name字段是null,但是&activity里的name会变成"",怎么保持还是null
type Activity struct {
Id int
name string
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我用的xorm,也有相同的问题。
这个问题用orm自带的find方法没法赋值成null,golang不支持string型赋nil值,初始化的时候就一定有默认值。
变通一下的做法就是写sql句,IFNULL(name,"无"),然后用orm执行查询sql句。
更新和新增的时候也是一样,结构体不赋值用orm的insert语句插入数据库以后也是相应的默认值0和""