Sobes.tech
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() // επιβεβαίωση της συναλλαγής
}