如何使用动态列

zzoitvuj  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(205)

我想在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"
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题