// Created on savesnippets.com ยท https://savesnippets.com/f5dYygKXwRrgi7 package main import ( "context" "database/sql" "log" ) type Event struct { UserID int Name string } func InsertEvents(ctx context.Context, db *sql.DB, events []Event) error { stmt, err := db.PrepareContext(ctx, "INSERT INTO events (user_id, name) VALUES (?, ?)") if err != nil { return err } defer stmt.Close() for _, e := range events { if _, err := stmt.ExecContext(ctx, e.UserID, e.Name); err != nil { return err } } return nil } func main() { db, err := sql.Open("sqlite3", "app.db") if err != nil { log.Fatal(err) } defer db.Close() InsertEvents(context.Background(), db, []Event{ {1, "login"}, {1, "view_page"}, {2, "signup"}, }) }