import (
"database/sql"
"encoding/json"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
type User struct {
Name string `json:name`
Picture []uint8 `json:picture`
}
func main(){
//straight to the query
rows, err := 'SELECT name, picture FROM ms_users' // picture is longblob type in database
checkErr(err)
var usr User
for rows.Next(){
err = rows.Scan(&usr.Name, &usr.Picture)
checkErr(err)
}
jsn, err := json.Marshal(usr)
fmt.Printf("%v, "string(jsn))
}
使用上面的代码,我只获取名称值,但图片为空。 如何将数据库中的blob值存储到struct? 任何答案将不胜感激!谢谢!
答案 0 :(得分:0)
我是GO语言的新手,在寻找解决方案的同时我遇到了这个问题,我能够找到解决方案。
当从数据库中获取BLOB数据时,将其作为[] byte类型来获取,其结构如下所示
type User struct {
Name string `json:name`
Picture []byte`json:picture`
}
我想您可以根据需要稍后处理字节数组。就我而言,我需要一个JSON对象,因此我将其解组为类型interface {}变量。