Sobes.tech
Junior — Middle

Veritabanındaki eski kayıtların silinmesi nasıl gerçekleşir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go'da veritabanındaki eski kayıtların silinmesi genellikle veritabanı sürücüsü aracılığıyla bir SQL sorgusu çalıştırılarak yapılır. Bunu yapmak için:

  1. Veritabanına bağlantı kurmak (örneğin, database/sql paketi aracılığıyla).
  2. Eski kayıtları belirleyen bir koşulla DELETE sorgusu çalıştırmak (örneğin, tarih bazında).

Belirli bir tarihten önceki kayıtların silinmesine örnek:

import (
    "database/sql"
    "log"
    "time"
    _ "github.com/lib/pq" // PostgreSQL örneği
)

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("Silinen kayıtlar: %d", rowsAffected)
    return nil
}

Bu şekilde, silme işlemi bir SQL sorgusu ile filtrelenerek yapılır ve Go kodu bu sorguyu çalıştırmak ve sonucu işlemekle sorumludur.