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