一括挿入を作成しようとしました。私はGORM github.com/jinzhu/gormゴラン結合アレイインターフェイス
import (
"fmt"
dB "github.com/edwinlab/api/repositories"
)
func Update() error {
tx := dB.GetWriteDB().Begin()
sqlStr := "INSERT INTO city(code, name) VALUES (?, ?),(?, ?)"
vals := []interface{}{}
vals = append(vals, "XX1", "Jakarta")
vals = append(vals, "XX2", "Bandung")
tx.Exec(sqlStr, vals)
tx.Commit()
return nil
}
を使用しかし、私はエラーだ:私は手動でクエリを使用する場合は
Error 1136: Column count doesn't match value count at row 1 becuse i return wrong query
INSERT INTO city(code, name) VALUES ('XX1','Jakarta','XX2','Bandung', %!v(MISSING)),(%!v(MISSING), %!v(MISSING))
それが動作:
tx.Exec(sqlStr, "XX1", "Jakarta", "XX2", "Bandung")
それは生成された:
INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
問題は配列の作り方です文字列のような文字列を生成する"XX1", "Jakarta", ...
ありがとうございました。
あなたは1つのクエリを使用して2つのデータを挿入したいと思いますか? – Kasnady
はい一度に複数のデータを挿入したいのですが、参考資料はhttp://stackoverflow.com/a/21112176/2486312 – user2486312