zombiezen.com/go/sqlite
This package provides a low-level Go interface to SQLite 3.
It is a fork of crawshaw.io/sqlite
that uses modernc.org/sqlite
,
a CGo-free SQLite package.
It aims to be a mostly drop-in replacement for crawshaw.io/sqlite
.
This package deliberately does not provide a database/sql
driver.
See David Crawshaw's rationale for an in-depth explanation.
If you want to use database/sql
with SQLite without CGo,
use modernc.org/sqlite
directly.
Features
Install
go get zombiezen.com/go/sqlite
While this library does not use CGo,
make sure that you are building for one of the supported architectures.
Getting Started
import (
"fmt"
"zombiezen.com/go/sqlite"
"zombiezen.com/go/sqlite/sqlitex"
)
conn, err := sqlite.OpenConn(":memory:", sqlite.OpenReadWrite)
if err != nil {
return err
}
defer conn.Close()
err = sqlitex.ExecuteTransient(conn, "SELECT 'hello, world';", &sqlitex.ExecOptions{
ResultFunc: func(stmt *sqlite.Stmt) error {
fmt.Println(stmt.ColumnText(0))
return nil
},
})
if err != nil {
return err
}
If you're creating a new application,
see the package examples or the reference docs.
If you're looking to switch existing code that uses crawshaw.io/sqlite
,
take a look at the migration docs.
License
ISC