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:
- Veritabanına bağlantı kurmak (örneğin,
database/sqlpaketi aracılığıyla). - 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.