-
Notifications
You must be signed in to change notification settings - Fork 44
5.更新
afumu edited this page Jun 6, 2023
·
1 revision
u := User{ID: 1, Username: "张三", Password: "123456"}
resultDb := gplus.UpdateById[User](&u)
fmt.Println(resultDb.Error)
fmt.Println(resultDb.RowsAffected)
// UPDATE `users` SET `username`='张三',`password`='123456',`updated_at`='2023-06-03 16:54:37.677' WHERE `id` = 1
上面的方式,默认是不更新零值得,如果需要更新零值,可以使用UpdateZeroById
u := User{ID: 1, Username: "张三", Password: "123456"}
resultDb := gplus.UpdateZeroById[User](&u)
fmt.Println(resultDb.Error)
fmt.Println(resultDb.RowsAffected)
// UPDATE `users` SET `username`='张三',`password`='123456',`address`='',`age`=0,`phone`='',`score`=0,`dept`='',`created_at`='0000-00-00 00:00:00',`updated_at`='2023--03 16:56:01.117' WHERE `id` = 1
u := User{ID: 1, Username: "张三", Age: 20, Password: "123456", Score: 18, Address: "北京", Dept: "开发"}
model := gplus.GetModel[User]()
resultDb := gplus.UpdateById[User](&u, gplus.Select(&model.Username, &model.Password))
fmt.Println(resultDb.Error)
fmt.Println(resultDb.RowsAffected)
// UPDATE `users` SET `username`='张三',`password`='123456',`updated_at`='2023-06-03 17:02:36.579' WHERE `id` = 1
u := User{ID: 1, Username: "张三", Age: 20, Password: "123456", Score: 18, Address: "北京", Dept: "开发"}
model := gplus.GetModel[User]()
resultDb := gplus.UpdateById[User](&u, gplus.Omit(&model.Score, &model.Address))
fmt.Println(resultDb.Error)
fmt.Println(resultDb.RowsAffected)
// UPDATE `users` SET `username`='张三',`password`='123456',`age`=20,`dept`='开发',`updated_at`='2023-06-03 17:03:32.902' WHERE `id` = 1
q, u := gplus.NewQuery[User]()
q.Eq(&u.ID, 1).Set(&u.Score, 60)
resultDb := gplus.Update(q)
fmt.Println(resultDb.Error)
fmt.Println(resultDb.RowsAffected)
// UPDATE `users` SET `score`=60,`updated_at`='2023-06-03 16:58:11.93' WHERE id = 1