Hello! 欢迎来到小浪云!


使用 Gorm 新增数据时遇到 “Unknown column ‘created_at’ in ‘field list’” 错误,如何解决?


avatar
小浪云 2024-11-11 40

使用 Gorm 新增数据时遇到 “Unknown column ‘created_at’ in ‘field list’” 错误,如何解决?

gorm操作数据库异常?

问题描述:
使用gorm时遇到错误:Error 1054 (42s22): unknown column ‘created_at’ in ‘field list’。这个错误表明框架中自带的字段导致了新增异常。

解决方案:
此问题可能是因为下列原因造成的:

  • 创建表时未包含gorm.model结构体
  • 新增结构中包含gorm.model,而创建表时未包含。

有两种解决方案:

  1. 移除新增接口结构中的gorm.model
    如果你在新增接口结构体中使用了gorm.model,将其删除即可。
  2. 使用automigrate方法建表,并添加gorm.model到结构体中
    在创建表时,可以使用gorm提供的automigrate方法,同时将gorm.model添加到结构体中。

例如:

package main  import (     "fmt"     "gorm.io/gorm" )  type User struct {     gorm.Model     Name string     Email string }  func main() {     db, err := gorm.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database?charset=utf8mb4&parseTime=True&loc=Local")     if err != nil {         panic(err)     }     // 创建表     if err := db.AutoMigrate(&User{}); err != nil {         panic(err)     }          // 查询所有用户     var users []User     if err := db.Find(&users).Error; err != nil {         panic(err)     }     fmt.Println(users) }
登录后复制

有关嵌套结构体的更多信息,请参阅gorm文档:https://gorm.io/zh_cn/docs/models.html

相关阅读