Sobes.tech
Junior — Middle

Πώς γίνεται η διαγραφή παλαιότερων εγγραφών από τη βάση δεδομένων;

sobes.tech AI

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

Η διαγραφή παλαιότερων εγγραφών από τη βάση δεδομένων σε Go γίνεται συνήθως με την εκτέλεση ενός ερωτήματος SQL μέσω του οδηγού βάσης δεδομένων. Για αυτό, χρειάζεται:

  1. Να δημιουργηθεί σύνδεση με τη βάση δεδομένων (π.χ., μέσω του πακέτου database/sql).
  2. Να εκτελεστεί ένα ερώτημα DELETE με μια συνθήκη που καθορίζει τις παλαιότερες εγγραφές (π.χ., με βάση την ημερομηνία).

Παράδειγμα διαγραφής εγγραφών πριν από μια συγκεκριμένη ημερομηνία:

import (
    "database/sql"
    "log"
    "time"
    _ "github.com/lib/pq" // παράδειγμα για PostgreSQL
)

func deleteOldRecords(db *sql.DB, cutoff time.Time) error {
    query := `DELETE FROM records WHERE created_at < $1`
    result, err := db.Exec(query, cutoff)
    if err != nil {
        return err
    }
    rowsAffected, _ := result.RowsAffected()
    log.Printf("Διαγραμμένες εγγραφές: %d", rowsAffected)
    return nil
}

Έτσι, η διαγραφή γίνεται μέσω ενός ερωτήματος SQL με φίλτρο, και ο κώδικας σε Go είναι υπεύθυνος για την εκτέλεση αυτού του ερωτήματος και την επεξεργασία του αποτελέσματος.