package main import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) type Product struct { gorm.Model Code string Price uint } func main() { dsn := "root:root@tcp(127.0.0.1:3306)/test_lc" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { fmt.Println(err) } // //创建表 db.AutoMigrate(&Product{}) p := Product{ Price: 200, Code: "2", } //插入数据 db.Create(&p) //查看数据 var product Product db.First(&product, 1) fmt.Printf("product: %v\n", product) //改 //这里有坑,修改单个字段使用的是update 修改多个使用到的是updates db.Model(&product).Update("Price", 300) //更新多个字段 db.Model(&product).Updates(Product{Price:300,Code:"3"}) db.Model(&product).Updates(map[string]interface{}{"Price": 300, "Code": "3"}) //删 db.Delete(&product, 1) }
gorm 模型 model
gorm的模型更多的是一种约定,而不是配置,gorm.Model是grom的一种结构体代表的是
type Model struct{ ID uint `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time DeletedAt gorm.DeletedAt `gorm:"index"` }
标签:product,改查,Price,db,Product,gorm,增删,Model,Gorm From: https://www.cnblogs.com/beatleC/p/17326229.html