Rumah > pembangunan bahagian belakang > Golang > Cara Menggunakan Parameter Variadik dengan `Exec` Gorm untuk Sisipan Pukal dengan betul dalam Go?

Cara Menggunakan Parameter Variadik dengan `Exec` Gorm untuk Sisipan Pukal dengan betul dalam Go?

DDD
Lepaskan: 2024-11-25 20:26:11
asal
222 orang telah melayarinya

How to Correctly Use Variadic Parameters with Gorm's `Exec` for Bulk Inserts in Go?

Menggunakan Parameter Variadik untuk Menyertai Antara Muka Tatasusunan di Golang

Dalam percubaan anda untuk melaksanakan sisipan pukal menggunakan Gorm, anda mengalami ralat disebabkan oleh ketidakpadanan antara kiraan lajur dan nilai yang disediakan. Isu ini berpunca daripada pemformatan pertanyaan anda yang salah apabila menggunakan antara muka tatasusunan.

Penyelesaian:

Untuk menyelesaikannya, anda perlu menggunakan "..." operator apabila menghantar elemen kepingan ke fungsi dengan parameter variadic. Ini akan mengarahkan pengkompil untuk menghantar setiap elemen secara individu dan bukannya menghantar nilai hirisan sebagai argumen tunggal.

tx.Exec(sqlStr, vals...)
Salin selepas log masuk

Penjelasan:

The Tx.Exec() fungsi mempunyai fungsi tandatangan (tx *Tx) Exec(rentetan pertanyaan, args ...antara muka{}) (Hasil, ralat). Ini bermakna anda boleh menghantar bilangan pembolehubah argumen sebagai parameter kedua, ditetapkan sebagai args. Dengan menggunakan pengendali "...", anda memberitahu pengkompil untuk mengembangkan kepingan val menjadi argumen individu.

Ini akan menyebabkan pertanyaan berikut dilaksanakan:

INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
Salin selepas log masuk

Atas ialah kandungan terperinci Cara Menggunakan Parameter Variadik dengan `Exec` Gorm untuk Sisipan Pukal dengan betul dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan