- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5
Getting Started
        Nirbhay Choubey edited this page Jan 16, 2016 
        ·
        3 revisions
      
    dsn = "mysql://user:pass@localhost:3306/test"
if db, err = sql.Open("vaquita", dsn); err != nil {
        fmt.Println("sql.Open() failed : ", err)
} else if err = db.Ping(); err != nil {
        fmt.Println("db.Ping() failed : ", err)
        os.Exit(1)
} else {
        fmt.Println("Connection established successfully")
}
var (
        err             error
        db              *sql.DB
        result          sql.Result
        rows            *sql.Rows
        // ..snip..
)
// ..snip..
if result, err = db.Exec("create table %s (i int, j varchar(20))", "test.t1"); err != nil {
        fmt.Println("Db.Exec() failed : ", err)
}
// ..snip..
if result, err = db.Exec("insert into test.t1 values (?, ?)", 1, "NULL"); err != nil {
        fmt.Println("Db.Exec() failed : ", err)
}
// ..snip..
if rows, err = db.Query("select * from test.t1"); err != nil {
        fmt.Println("Db.Query() failed : ", err)
}
// ..snip..
lastInsertId, _ := result.LastInsertId()
rowsAffected, _ := result.RowsAffected()
defer rows.Close()
// ...
for rows.Next() {
        var (
                i int
                s sql.NullString
        )
        if err = rows.Scan(&i, &s); err != nil {
                fmt.Println("Rows.Scan failed : ", err)
        } else {
                fmt.Println("Row : ", i, s)
        }
}
var stmt *sql.Stmt
// ..snip..
// Prepare
if stmt, err = db.Prepare("select * from test.t1 where i = ?"); err != nil {
        fmt.Println("Db.Prepare() failed : ", err)
        os.Exit(1)
}
// Execute
if rows, err = stmt.Query(1); err != nil {
        fmt.Println("Stmt.Query() failed : ", err)
} else {
        // Process rows
}
// close
if err = stmt.Close(); err != nil {
        fmt.Println("Stmt.Close() failed : ", err)
        os.Exit(1)
}