Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func BulkInsert(unsavedRows []*ExampleRowStruct) error {
- valueStrings := make([]string, 0, len(unsavedRows))
- valueArgs := make([]interface{}, 0, len(unsavedRows) * 3)
- i := 0
- for _, post := range unsavedRows {
- valueStrings = append(valueStrings, fmt.Sprintf("($%d, $%d, $%d)", i*3+1, i*3+2, i*3+3))
- valueArgs = append(valueArgs, post.Column1)
- valueArgs = append(valueArgs, post.Column2)
- valueArgs = append(valueArgs, post.Column3)
- i++
- }
- stmt := fmt.Sprintf("INSERT INTO my_sample_table (column1, column2, column3) VALUES %s", strings.Join(valueStrings, ","))
- _, err := db.Exec(stmt, valueArgs...)
- return err
- }
Add Comment
Please, Sign In to add comment