Go gorm mysql“;不支持的类型[]字符串,字符串的一部分;
我使用gorm,并尝试创建到mysql的事务。我有一个结构Go gorm mysql“;不支持的类型[]字符串,字符串的一部分;,mysql,go,go-gorm,Mysql,Go,Go Gorm,我使用gorm,并尝试创建到mysql的事务。我有一个结构 type Game struct { Images []string } game := Game{Images: []string{"1.png", "2.png"}} db := Database() tx := db.Begin() if err := tx.Create(&game).Error; err != nil { tx.Rollback() return errors.New("
type Game struct {
Images []string
}
game := Game{Images: []string{"1.png", "2.png"}}
db := Database()
tx := db.Begin()
if err := tx.Create(&game).Error; err != nil {
tx.Rollback()
return errors.New("Cannot add game")
}
tx.Commit()
但是我得到了错误(sql:转换参数$1类型:不支持的类型[]字符串,一段字符串)
。我明白,mysql不支持这种类型,但我能以某种方式解决这个问题吗?我想我可以将类型更改为json.rawMessage
,但我认为这是一种错误的方式
我使用方言
“github.com/jinju/gorm/dialogs/mysql”
如果你想在mysql中列出一些东西,你有两个选择
type Game struct {
gorm.Model
GameImages []GameImage
}
type GameImage struct {
gorm.Model
Name string
}
db.Model(&game).Related(&gameImages)
您可以将其存储在包含JSON编码数据的
字符串中,并在从数据库写入/读取数据时对其进行封送/解封。但是,不支持这种类型的原因是MySQL不应该这样使用。您应该有一个图像表,其中包含游戏ID和路径字符串或类似的内容。