Auflösen von Spaltenanzahlkonflikten bei der Masseneinfügung mit GORM
Bei Ihrer Masseneinfügungsabfrage mit GORM ist ein Fehler aufgrund einer Nichtübereinstimmung in aufgetreten Spaltenanzahl. Dieser Fehler tritt auf, weil Sie versuchen, ein Schnittstellenarray als einzelnes Argument zu übergeben, was zu einer ungültigen Abfrage führt.
Um dieses Problem zu beheben, müssen Sie die Variadic-Parametersyntax (...) verwenden. Mit dieser Syntax können Sie Elemente eines Slice einzeln an eine Funktion übergeben, anstatt das Slice selbst zu übergeben. Im Fall Ihrer Masseneinfügungsabfrage können Sie sie wie folgt verwenden:
tx.Exec(sqlStr, vals...)
Durch das Hinzufügen von ... teilen Sie dem Compiler mit, dass Sie beabsichtigen, jedes Element von vals einzeln zu übergeben. Dadurch wird die gewünschte Abfragezeichenfolge generiert:
INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie behebe ich Diskrepanzen bei der Spaltenanzahl in GORM-Masseneinfügungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!