登录
首页 >  Golang >  Go问答

gorm 更新表的时候,总是把created_at字段也更新的,很奇怪。。。

来源:SegmentFault

时间:2023-02-20 11:14:46 199浏览 收藏

本篇文章给大家分享《gorm 更新表的时候,总是把created_at字段也更新的,很奇怪。。。》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

这是我的表定义

type Notice struct {
    Id          int  `gorm:"primary_key"`
    Title        string `gorm:"type:varchar(20);not null"`
    Content     string `gorm:"type:text;not null"`
    CreatedAt   time.Time `gorm:"not null"`
    UpdatedAt   time.Time `gorm:"not null"`
    AdminId     int `gorm:"not null"`
}
数据库定义:
Field Type Null Key Default Extra
id int(11) NO PRI NULL auto_increment
title varchar(20) NO NULL
content text NO NULL
created_at timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
updated_at timestamp NO 0000-00-00 00:00:00
admin_id int(11) NO NULL

我这么写:

db.Model(n).Updates(map[string]interface{}{"title": n.Title, "content": n.Content, "updated_at": time.Now()})

每次都更新了created_at

clipboard.png

正确答案

看图,我觉得你应该懂了

clipboard.png

好了,本文到此结束,带大家了解了《gorm 更新表的时候,总是把created_at字段也更新的,很奇怪。。。》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>