ホームページ >バックエンド開発 >Golang >GORM 一括挿入で列数の不一致を修正するにはどうすればよいですか?

GORM 一括挿入で列数の不一致を修正するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-23 05:22:151027ブラウズ

How to Fix Column Count Mismatches in GORM Bulk Inserts?

GORM を使用した一括挿入での列数の不一致を解決する

GORM を使用した一括挿入クエリで、次の不一致によりエラーが発生しました。列数。このエラーは、インターフェイス配列を単一の引数として渡そうとしているために発生します。その結果、無効なクエリが発生します。

この問題を解決するには、可変個引数パラメーター構文 (...) を利用する必要があります。この構文を使用すると、スライス自体を渡すのではなく、スライスの要素を個別に関数に渡すことができます。一括挿入クエリの場合、次のように使用できます。

tx.Exec(sqlStr, vals...)

... を追加することで、vals の各要素を個別に渡すつもりであることをコンパイラーに通知します。これにより、目的のクエリ文字列が生成されます。

INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')

追加の考慮事項:

  • Tx.Exec() によって返されたエラーを確認し、それに応じて処理することを忘れないでください。 .
  • vals の要素の数がクエリ内のプレースホルダー (?) の数と一致することを確認します。文字列。

以上がGORM 一括挿入で列数の不一致を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。