Heim  >  Artikel  >  Backend-Entwicklung  >  Wie behebe ich Diskrepanzen bei der Spaltenanzahl in GORM-Masseneinfügungen?

Wie behebe ich Diskrepanzen bei der Spaltenanzahl in GORM-Masseneinfügungen?

DDD
DDDOriginal
2024-11-23 05:22:15962Durchsuche

How to Fix Column Count Mismatches in GORM Bulk Inserts?

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:

  • Denken Sie daran, nach von Tx.Exec() zurückgegebenen Fehlern zu suchen und diese entsprechend zu behandeln .
  • Stellen Sie sicher, dass die Anzahl der Elemente in vals mit der Anzahl der Platzhalter (?) in Ihrer Abfrage übereinstimmt Zeichenfolge.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn