Ich versuche, Massen einfügen zu erstellen. Ich benutze gorm github.com/jinzhu/gormGolang Join Array-Schnittstelle
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
}
Aber ich habe einen Fehler:
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))
Wenn ich manuelle Abfrage verwenden, funktioniert es:
tx.Exec(sqlStr, "XX1", "Jakarta", "XX2", "Bandung")
Es wird erzeugen:
INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
Das Problem besteht darin, wie man ein Array einrichtet Oberfläche, um Zeichenfolge wie "XX1", "Jakarta", ...
zu generieren Danke für Hilfe.
meinst du das .. willst du zwei Daten mit einer Abfrage einfügen? – Kasnady
ja ich möchte mehrere Daten auf einmal einfügen meine Referenz ist http://StackOverflow.com/a/21112176/2486312 – user2486312