登录
首页 >  数据库 >  MySQL

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

时间:2024-12-11 20:46:05 495浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《使用 Gorm 新增数据时遇到 “Unknown column 'created_at' in 'field list'” 错误,如何解决?》,聊聊,我们一起来看看吧!

使用 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

本篇关于《使用 Gorm 新增数据时遇到 “Unknown column 'created_at' in 'field list'” 错误,如何解决?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于数据库的相关知识,请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>