you would have to build a dynamic string but you just need to do something like
var records []record
var sqlstr = `INSERT INTO records
(name, email, displayname, firstname, lastname)
VALUES`
sqlstr += strings.Repeat(" (?, ?, ?, ?, ?)", len(records))
args := make([]any, 0, len(records)*5)
for _, r := range records {
args = append(r.name, r.email, r.dname, r.fname, r.lname)
}
db.ExecContext(context.TODO(), sqlstr, args...)```
