代码:
type Message struct {
gorm.Model
Title string `json:"title"`
Content string `json:"content"`
}
/*6.修改留言*/
func UpdateInfo(c *gin.Context) {
var data Message
c.ShouldBindJSON(&data)
result := db.Select("UpdateAt", "Title", "Content").Save(&data)
if result.Error != nil {
// 处理更新错误
fmt.Println("更新用户出错:", result.Error)
} else {
fmt.Println("更新用户成功")
}
}
注意: 由于结构体中使用了gorm.Model,在更新操作中应该选择部分字段进行更新(使用Select方法进行字段选择),否则CreatAt字段会报错。因为在创建信息的时候,结构体实例化的ID为0,为插入操作,CreatAt字段可以正确生成时间,但是在更新操作中,CreatAt则不会重新生成信息,会返回一个0000-00-00的值,必须排除掉。