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)
}
Εδώ, οι ενέργειες εισαγωγής πραγματοποιούνται στο πλαίσιο μιας συναλλαγής, η οποία είτε επιβεβαιώνεται είτε ακυρώνεται σε περίπτωση σφάλματος.