// Created on savesnippets.com · https://savesnippets.com/4Bmf1wRV1ifxT2 package main import ( "database/sql" "fmt" "log" "time" _ "github.com/mattn/go-sqlite3" // driver registration ) func main() { db, err := sql.Open("sqlite3", "app.db") if err != nil { log.Fatal(err) } defer db.Close() // Tune the pool db.SetMaxOpenConns(10) db.SetMaxIdleConns(5) db.SetConnMaxLifetime(30 * time.Minute) // ALWAYS use parameter placeholders ($1, ? — driver dependent) rows, err := db.Query("SELECT id, name FROM users WHERE active = ?", true) if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { log.Fatal(err) } fmt.Printf("%d %s\n", id, name) } if err := rows.Err(); err != nil { log.Fatal(err) } // late iteration errors }