使用 Gorm 新增數(shù)據(jù)時遇到 “Unknown column ‘created_at’ in ‘field list’” 錯誤,如何解決?

使用 Gorm 新增數(shù)據(jù)時遇到 “Unknown column ‘created_at’ in ‘field list’” 錯誤,如何解決?

gorm操作數(shù)據(jù)庫異常?

問題描述:
使用gorm時遇到錯誤:Error 1054 (42s22): unknown column ‘created_at’ in ‘field list’。這個錯誤表明框架中自帶的字段導(dǎo)致了新增異常。

解決方案:
此問題可能是因?yàn)橄铝性蛟斐傻模?/p>

  • 創(chuàng)建表時未包含gorm.model結(jié)構(gòu)體
  • 新增結(jié)構(gòu)中包含gorm.model,而創(chuàng)建表時未包含。

有兩種解決方案:

  1. 移除新增接口結(jié)構(gòu)中的gorm.model
    如果你在新增接口的結(jié)構(gòu)體中使用了gorm.model,將其刪除即可。
  2. 使用automigrate方法建表,并添加gorm.model到結(jié)構(gòu)體中
    在創(chuàng)建表時,可以使用gorm提供的automigrate方法,同時將gorm.model添加到結(jié)構(gòu)體中。

例如:

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)     }     // 創(chuàng)建表     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) }

有關(guān)嵌套結(jié)構(gòu)體的更多信息,請參閱gorm文檔:https://gorm.io/zh_cn/docs/models.html

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享