
gorm操作数据库异常?
问题描述:
使用gorm时遇到错误:error 1054 (42s22): unknown column 'created_at' in 'field list'。这个错误表明框架中自带的字段导致了新增异常。
解决方案:
此问题可能是因为下列原因造成的:
- 创建表时未包含gorm.model结构体。
- 新增结构中包含gorm.model,而创建表时未包含。
有两种解决方案:
-
移除新增接口结构中的gorm.model
如果你在新增接口的结构体中使用了gorm.model,将其删除即可。 -
使用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










