GoDasturchi
Update Records

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

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