Sobes.tech
Junior — Middle

Πώς υλοποιείται η διαχείριση συναλλαγών στο σύστημα;

sobes.tech AI

Απάντηση από AI

Στην Go, η διαχείριση συναλλαγών υλοποιείται συνήθως με τις μεθόδους Begin(), Commit() και Rollback() από το πακέτο database/sql. Αρχικά, δημιουργείται μια συναλλαγή μέσω του db.Begin(), στη συνέχεια εκτελούνται οι απαραίτητες ενέργειες και στο τέλος, η συναλλαγή επιβεβαιώνεται (Commit()) ή ακυρώνεται (Rollback()) σε περίπτωση σφάλματος.

Παράδειγμα:

tx, err := db.Begin()
if err != nil {
    // διαχείριση σφάλματος
}

_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    // διαχείριση σφάλματος
}

err = tx.Commit()
if err != nil {
    // διαχείριση σφάλματος
}

Αυτή η προσέγγιση εγγυάται την ατομικότητα των ενεργειών και επιτρέπει τον έλεγχο της ακεραιότητας των δεδομένων.