こんにちは
gormでレコードを作成する時は
user := User{Name: "Bob", Age: 22}
db.Create(&user)
のように作成します。
ですが複数レコードを作成する専用のメソッドは用意されていないので素のSQLを実行して作成します。
gormにはExecという素のSQLを実行できるメソッドがあるのでこれを利用します。
str := "INSERT INTO users (`name`, `age`) VALUES "
var s []string
for i, u := range us {
var icon string
if len(progresses) - 1 == i {
icon = ";"
} else {
icon = ","
}
q := fmt.Sprintf("('%s', %d)%s", u.name, u.age, icon)
s = append(s, q)
}
query := strings.Join(s, "")
db.Exec(str + query)
これでバルクインサートができるようになりました。









