Files
sqlite3/vfs/memdb/example_test.go

51 lines
838 B
Go
Raw Permalink Normal View History

2023-06-01 18:11:37 +01:00
package memdb_test
2023-05-31 15:47:28 +01:00
import (
"database/sql"
2024-10-22 23:32:57 +01:00
_ "embed"
2023-05-31 15:47:28 +01:00
"fmt"
"log"
_ "github.com/ncruces/go-sqlite3/driver"
_ "github.com/ncruces/go-sqlite3/embed"
2023-06-01 18:11:37 +01:00
"github.com/ncruces/go-sqlite3/vfs/memdb"
2023-05-31 15:47:28 +01:00
)
//go:embed testdata/test.db
var testDB []byte
func Example() {
2023-06-01 18:11:37 +01:00
memdb.Create("test.db", testDB)
2023-05-31 15:47:28 +01:00
db, err := sql.Open("sqlite3", "file:/test.db?vfs=memdb")
if err != nil {
log.Fatal(err)
}
defer db.Close()
_, err = db.Exec(`INSERT INTO users (id, name) VALUES (3, 'rust')`)
if err != nil {
log.Fatal(err)
}
rows, err := db.Query(`SELECT id, name FROM users`)
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id, name string
err = rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s %s\n", id, name)
}
// Output:
// 0 go
// 1 zig
// 2 whatever
// 3 rust
}