Junior — Middle
Πώς να ξεκινήσετε μια νέα συναλλαγή στο σύστημα διαχείρισης βάσεων δεδομένων;
sobes.tech AI
Απάντηση από AI
Στο Go, για εργασία με συναλλαγές σε βάσεις δεδομένων, χρησιμοποιείται συνήθως το πακέτο database/sql. Για να ξεκινήσετε μια νέα συναλλαγή, καλείτε τη μέθοδο Begin() στο αντικείμενο *sql.DB. Αυτή η μέθοδος επιστρέφει ένα αντικείμενο *sql.Tx, που αντιπροσωπεύει τη συναλλαγή. Στη συνέχεια, με τις μεθόδους Commit() ή Rollback(), μπορείτε να επιβεβαιώσετε ή να ακυρώσετε τη συναλλαγή.
Παράδειγμα:
import (
"database/sql"
_ "github.com/lib/pq" // οδηγός για PostgreSQL
)
func παράδειγμα(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Εκτέλεση λειτουργιών εντός της συναλλαγής
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // ακύρωση της συναλλαγής σε περίπτωση σφάλματος
return err
}
return tx.Commit() // επιβεβαίωση της συναλλαγής
}