Apabila cuba melakukan sisipan pukal ke dalam pangkalan data PostgreSQL menggunakan Go dan perpustakaan pgx, mesej ralat "dijangkakan 10 hujah, mendapat 1" mungkin ditemui. Isu ini timbul disebabkan oleh ketidakkonsistenan dalam pembinaan pernyataan SQL.
Untuk menyelesaikan isu ini, adalah disyorkan untuk menggunakan kaedah pgx.Conn.CopyFrom dan bukannya membuat penyataan SQL secara manual. CopyFrom menggunakan protokol salinan PostgreSQL untuk pemasukan data pukal yang cekap.
<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>
Dengan menggunakan pendekatan ini, pgx akan mengendalikan penjanaan dan pelaksanaan pernyataan SQL secara automatik, memastikan pemasukan pukal yang cekap dan boleh dipercayai.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'expected 10 arguments, got 1\' Ralat Semasa Bulk Insert dalam Postgres menggunakan Go with pgx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!