Junior — Middle
Πώς γίνεται η διαγραφή παλαιότερων εγγραφών από τη βάση δεδομένων;
sobes.tech AI
Απάντηση από AI
Η διαγραφή παλαιότερων εγγραφών από τη βάση δεδομένων σε Go γίνεται συνήθως με την εκτέλεση ενός ερωτήματος SQL μέσω του οδηγού βάσης δεδομένων. Για αυτό, χρειάζεται:
- Να δημιουργηθεί σύνδεση με τη βάση δεδομένων (π.χ., μέσω του πακέτου
database/sql). - Να εκτελεστεί ένα ερώτημα 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 είναι υπεύθυνος για την εκτέλεση αυτού του ερωτήματος και την επεξεργασία του αποτελέσματος.