我想在mariadb中使用动态列blob数据类型,并在go项目中使用。当使用gorm blob字段从数据库获取数据为nil时,为什么?
type QrController struct {
}
func (controller *QrController) GetQrInfo(context context.Context) {
qrCode := context.FormValue("qr")
db, err := gorm.Open("mysql", "root:@/payro_db?charset=utf8&parseTime=True&loc=Local")
if (err != nil) {
fmt.Println(err.Error())
return
}
defer db.Close()
var qr model.BrcQr
if db.First(&qr, "code=?", qrCode).RecordNotFound() {
}
context.JSON(qr)
}
结果是
{“qr\u id”:0,“code”:“”,“type”:0,“data”:null,“created \u at”:“0001-01-01t00:00:00z”,“created \u by”:null,“status”:0}
但是数据字段必须是“{”merchant\u id“:1}
这是brc\u qr结构:
package model
import (
"api/user"
"database/sql"
"time"
"github.com/guregu/null"
)
var (
_ = time.Second
_ = sql.LevelDefault
_ = null.Bool{}
)
type BrcQr struct {
QrID int `gorm:"column:qr_id;primary_key" json:"qr_id"`
Code string `gorm:"column:code" json:"code"`
Type int `gorm:"column:type" json:"type"`
Data []byte `gorm:"column:data" json:"data"`
CreatedAt time.Time `gorm:"column:created_at" json:"created_at"`
CreatedBy null.Int `gorm:"column:created_by" json:"created_by"`
Status int `gorm:"column:status" json:"status"`
}
// TableName sets the insert table name for this struct type
func (b *BrcQr) TableName() string {
return "brc_qr"
}
暂无答案!
目前还没有任何答案,快来回答吧!