Create Records
Yozuv qo'shish
db.Create(&record) — struct qiymatini yangi qator sifatida jadvalga qo'shadi. Chaqiruvdan keyin, agar ID avtomatik hosil bo'lgan bo'lsa (masalan auto-increment), u struct'ning o'zida avtomatik to'ldiriladi.
user := User{Name: "Aziz", Age: 21, Email: "aziz@example.com"}
result := db.Create(&user)
if result.Error != nil {
log.Println("xato:", result.Error)
return
}
fmt.Println(user.ID) // GORM avtomatik to'ldirdi!
fmt.Println(result.RowsAffected) // 1
// Bir nechtasini birdan qo'shish:
users := []User{
{Name: "Bobur", Age: 25},
{Name: "Malika", Age: 30},
}
db.Create(&users)db.Createga struct'ning pointeri (&user) beriladi — chunki GORM natijani (masalan yangi IDni) to'g'ridan-to'g'ri o'sha struct'ga yozib qo'yadi. result.Error — amal muvaffaqiyatli bo'ldimi (bu "database/sql" kursida ko'rgan xatoni tekshirish naqshining GORM'dagi ko'rinishi). Slice berish orqali bir nechta yozuvni bitta so'rovda qo'shish mumkin — bu ko'p yozuv qo'shishda ancha samarali.
Key Takeaway
Key Takeaway:
db.Create(&record) yangi qator qo'shadi va avtomatik hosil bo'lgan qiymatlarni (masalan ID) struct'ga qaytarib yozadi.
NEXT UP
Read Records