GORM_增删改查

增删改查

1. 插入数据

user := User{
   
   
	Username:"zhangsan",
	Password:"123456",
	CreateTime:time.Now().Unix(),
}
db.Create(&user)

user.ID             // 返回插入数据的主键
result.Error        // 返回 error
result.RowsAffected // 返回插入记录的条数

1.1 用指定的字段创建:

db.Select("username","password").Create(&user)

1.2 忽略字段

db.Omit("username").Create(&user)

1.3 批量插入:

var users = []User{
   
   {
   
   Username: "jinzhu1"}, {
   
   Username: "jinzhu2"}, {
   
   Username: "jinzhu3"}}
db.Create(&users)

for _, user := range users {
   
   
  user.ID // 1,2,3
}

使用 CreateInBatches 分批创建时,你可以指定每批的数量,例如:

var users = []User{
   
   {
   
   Username: "jinzhu_1"}, ...., {
   
   Username: "jinzhu_10000"}}

// 数量为 100
db.CreateInBatches(users, 100)

1.4 使用map创建:

db.Model(&User{
   
   }).Create(map[string]interface{
   
   }{
   
   
  "Name": "jinzhu", "Age": 18,
})

// batch insert from `[]map[string]interface{}{}`
db.Model(&User{
   
   }).Create([]map[string]interface{
   
   }{
   
   
  {
   
   "Name": "jinzhu_1", "Age": 18},
  {
   
   "Name": "jinzhu_2", "Age": 20},
})

map创建注意,主键不会被填充。

1.5 sql表达式:

DB.Model(&User{
   
   }).Create(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值