一括挿入中の Gorm の列数の不一致エラーを修正する方法

Linda Hamilton
リリース: 2024-11-25 09:30:12
オリジナル
475 人が閲覧しました

How to Fix Gorm's Column Count Mismatch Error During Bulk Inserts?

Gorm 配列インターフェイスでの列数の不一致の解決

配列インターフェイスで Gorm の Exec メソッドを使用して一括挿入を実行しようとすると、エラーが発生します列数の不一致を示す場合があります。このエラーは、指定された値が SQL クエリで定義された列の数と一致しない場合に発生します。

この問題を解決するには、Exec メソッドに渡される値が ... 演算子を使用して分散されていることを確認します。これにより、スライス全体を単一の値として渡すのではなく、スライス要素を個別の引数として扱うようにコンパイラに指示します。

以下の更新されたコードは、... 演算子の正しい使用法を示しています。

tx := dB.GetWriteDB().Begin()
sqlStr := "INSERT INTO city(code, name) VALUES (?, ?),(?, ?)"
vals := []interface{}{}

vals = append(vals, "XX1", "Jakarta")
vals = append(vals, "XX2", "Bandung")

tx.Exec(sqlStr, vals...)

tx.Commit()

if err := tx.Error(); err != nil {
    // handle error
}
ログイン後にコピー

... 演算子を使用すると、vals スライス内の値が個々の引数に展開され、SQL ステートメント内の対応する列に正しく割り当てられます。これにより、列数の不一致が解消され、一括挿入が成功するようになります。

以上が一括挿入中の Gorm の列数の不一致エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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