如果设置了表结构并且没有使用AutoMigrate,那么可以通过更改标记使MoreInfo成为read-only字段并确保使用别名more_info来匹配Gorm执行DB->Go命名转换的方式来解决这个问题。 type Test struct { ID string `gorm:"column:id;type:varchar(32);primaryKey;comment:Unique ID" json:"id"` Name string `gorm:"column:name;type:varchar(255);comment:Name Info" json:"name"` Remark string `gorm:"column:remark;type:varchar(255);comment:Remark Info" json:"remark"` MoreInfo string `gorm:"->" json:"moreInfo"` // Non-table field}gormDB.Select("*, 'testMoreInfoVal' AS more_info").Where(&test).Find(&test) 如果您使用的是自动迁移,那么问题是将在表中创建一个more_info列,尽管Gorm在使用结构时会阻止写入该列。 在这种情况下,您可以使