· 9 years ago · Oct 13, 2016, 06:10 AM
1package main
2
3import (
4 "database/sql"
5 "fmt"
6
7 "log"
8
9 _ "github.com/mattn/go-sqlite3"
10)
11
12func main() {
13 fmt.Println(doDBStuff())
14}
15
16func checkErr(err error) {
17 if err != nil {
18 log.Println(err)
19 }
20}
21
22func doDBStuff() int {
23 var id int
24
25 db, err := sql.Open("sqlite3", "./data.db")
26 checkErr(err)
27
28 q := "CREATE TABLE IF NOT EXISTS users(id INTEGER);"
29 _, err = db.Exec(q)
30 checkErr(err)
31
32 q = "INSERT INTO users(id) values(?);"
33 stmt, err := db.Prepare(q)
34 checkErr(err)
35
36 _, err = stmt.Exec(12345)
37 checkErr(err)
38
39 stmt.Close()
40
41 q = "SELECT * FROM users;"
42 rows, err := db.Query(q)
43 checkErr(err)
44 for rows.Next() {
45 err = rows.Scan(&id)
46 checkErr(err)
47 }
48
49 db.Close()
50
51 return id
52}