Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tx, err := db.Begin()
- if err != nil {
- return err
- }
- defer tx.Rollback()
- var results []MyStruct
- qSelect := tx.Prepare(select_sql)
- qInsert := tx.Prepare(insert_sql)
- for _, thing := range *things {
- var id int
- var err error
- var result sql.Result
- err = qSelect.QueryRow(thing.FieldOne).Scan(&id)
- if err != nil {
- if err == sql.ErrNoRows {
- result, err = qInsert.Exec(thing.FieldOne, thing.FieldTwo)
- if err != nil { /* this is the line where I get the error */
- return err
- }
- } else {
- return err
- }
- }
- if num, err := result.RowsAffected(); err != nil {
- return err
- } else if num > 0 {
- results = append(results, thing)
- }
- }
- tx.Commit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement