العودة إلى الدورة

معاملات قاعدة البيانات في Go

لغة Go (Golang) للخدمات المصغرة السحابية (Cloud-Native Microservices)

ضمان الذرية (Atomicity)

المعاملات حيوية للخدمات المصغرة التي تتعامل مع بيانات مالية أو حساسة.

go tx, err := db.Begin() if err != nil { return err }

_, err = tx.Exec("UPDATE accounts SET balance = balance - 100 WHERE id = 1") if err != nil { tx.Rollback() // تراجع عن كل شيء return err }

tx.Commit() // حفظ كل شيء