Sobes.tech
Middle

Транзакция деген эмне?

sobes.tech AI

AIден жооп

Транзакция — бул операциялардын тизмеги, ал бирдик катары ишке ашырылат. Маалыматтар базасы контекстинде, транзакция анын ичинде болгон бардык операциялар ийгиликтүү аяктап, же ката болсо, кайра калыбына келтирилет, системаны туура эмес абалда калтырбоо үчүн кепилдик берет. Go тилинде транзакциялар көбүнчө database/sql пакети аркылуу маалыматтар базалар менен колдонулат.

Go тилинде транзакцияны колдонуу мисалы:

// db — *sql.DB объекти
ctx := context.Background()
tx, err := db.BeginTx(ctx, nil)
if err != nil {
    log.Fatal(err)
}

_, err = tx.ExecContext(ctx, "INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    log.Fatal(err)
}

err = tx.Commit()
if err != nil {
    log.Fatal(err)
}

Бул жерде, кошуу операциялары транзакциянын чегинде жүргүзүлөт, ал же бекитилет, же ката болсо, кайра кайтарылат.