Skip to content

Instantly share code, notes, and snippets.

@nickvanw
Created November 20, 2014 22:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nickvanw/4bcf857c1f04d5c08e39 to your computer and use it in GitHub Desktop.
Save nickvanw/4bcf857c1f04d5c08e39 to your computer and use it in GitHub Desktop.
Go SQL Queries
package datastore
import (
"database/sql"
)
const (
createUser = `
INSERT INTO users (name, email)
VALUES(?,
?)`
findUser = `
SELECT id,
name,
email
FROM users
WHERE email = ? LIMIT 1`
)
var stmts = struct {
createUser *sql.Stmt
findUser *sql.Stmt
}{}
var stmtSql = map[**sql.Stmt]string{
&stmts.createUser: createUser,
&stmts.findUser: findUser,
}
// initQueries loops through all of the statements and prepares them to make sure they're valid.
func initQueries(db *sql.DB) error {
var err error
for stmt, sql := range stmtSql {
*stmt, err = db.Prepare(sql)
if err != nil {
return err
}
}
return nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment