Go と pgx ライブラリを使用して PostgreSQL データベースへの一括挿入を実行しようとすると、エラー メッセージ「expected 10 argument, got 1」が発生する可能性があります。この問題は、SQL ステートメントの構築における不一致が原因で発生します。
この問題を解決するには、SQL ステートメントを手動で作成する代わりに、pgx.Conn.CopyFrom メソッドを利用することをお勧めします。 CopyFrom は、効率的な一括データ挿入のために PostgreSQL コピー プロトコルを使用します。
<code class="go">rows := [][]interface{}{ {"abc", 10}, {"dns", 11}, {"qwe", 12}, {"dss", 13}, {"xcmk", 14}, } copyCount, err := conn.CopyFrom( pgx.Identifier{"keys"}, []string{"keyval", "lastval"}, pgx.CopyFromRows(rows), )</code>
このアプローチを採用することで、pgx は SQL ステートメントの生成と実行を自動的に処理し、効率的で信頼性の高い一括挿入を保証します。
以上がGo と pgx を使用して Postgres に一括挿入中に「expected 10 argument, got 1」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。