ホームページ > バックエンド開発 > Golang > Go と pgx を使用して Postgres に一括挿入中に「expected 10 argument, got 1」エラーを解決する方法

Go と pgx を使用して Postgres に一括挿入中に「expected 10 argument, got 1」エラーを解決する方法

Mary-Kate Olsen
リリース: 2024-11-01 00:47:02
オリジナル
965 人が閲覧しました

How to Resolve

Go と pgx を使用した Postgres への一括挿入

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート