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