Update Records
Yozuvlarni yangilash
Mavjud yozuvni yangilash uchun Save (butun struct'ni yangilaydi) yoki Update/Updates (faqat ko'rsatilgan maydon(lar)ni yangilaydi) ishlatiladi.
example.go
var user User
db.First(&user, 1)
// Save — butun struct'ni yangilaydi (barcha maydonlar)
user.Age = 22
db.Save(&user)
// Update — bitta maydonni yangilaydi
db.Model(&user).Update("Age", 23)
// Updates — bir nechta maydonni birdan (map yoki struct bilan)
db.Model(&user).Updates(map[string]interface{}{
"Age": 24,
"Email": "yangi@example.com",
})Save — struct'ning barcha maydonlarini yangilaydi (agar ID bor bo'lsa, UPDATE; bo'lmasa, INSERT qiladi). Update/Updates esa faqat ko'rsatilgan maydon(lar)ni o'zgartiradi — qolganlariga tegmaydi. db.Model(&user) — "qaysi yozuv ustida ishlayapmiz" ni ko'rsatadi (odatda user.ID orqali). Map bilan Updates chaqirish — bir nechta maydonni bitta so'rovda, samarali yangilash imkonini beradi.
Key Takeaway
Key Takeaway:
Save butun struct'ni, Update/Updates esa faqat ko'rsatilgan maydon(lar)ni yangilaydi — kerakli holatga qarab tanlang.
NEXT UP
Delete Records