メモ書き。
INSERT
type User struct {
ID string `db:"id"`
Name string `db:"name"`
}
var user User
db, err := sql.Open("postgres", "user=root password=root host=localhost dbname=test sslmode=disable")
sql := "INSERT INTO example (ID, Name) VALUES (:id, :name)"
// プリペアドステートメントを使用したSQLを読み込ませる
s, err := r.db.PrepareNamed(sql)
// SQLの実行。SELECTはQuery()、それ以外のクエリはExecで実行。
r, err := s.Exec(&user)
// INSERT処理の実行件数を取得
affected, err := r.RowsAffected()
RowsAffected関数はquery操作で影響されるデータの数を返します。参考
type Result interface {
LastInsertId() (int64, error)
RowsAffected() (int64, error)
}