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
DDDasal
2024-11-25 20:26:11219semak imbas

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...)

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')

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!

Kenyataan:
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