Rumah >pembangunan bahagian belakang >Golang >Cara Menggunakan Golang dengan Betul ... Operator untuk Sisipan Pukal dengan GORM untuk Mengelakkan Ketakpadanan Kiraan Lajur?

Cara Menggunakan Golang dengan Betul ... Operator untuk Sisipan Pukal dengan GORM untuk Mengelakkan Ketakpadanan Kiraan Lajur?

Linda Hamilton
Linda Hamiltonasal
2024-11-27 06:25:18954semak imbas

How to Correctly Use Golang's ... Operator for Bulk Inserts with GORM to Avoid Column Count Mismatches?

Golang Sertai Antara Muka Tatasusunan untuk Sisipan Pukal

Dalam konteks ini, anda cuba mencipta sisipan pukal menggunakan GORM dan menerima ralat disebabkan kepada ketidakpadanan dalam bilangan lajur dan nilai dalam pertanyaan SQL yang anda hasilkan. Untuk menyelesaikan isu ini, anda perlu memformatkan antara muka tatasusunan dengan betul untuk menjana jujukan rentetan yang diingini.

Penyelesaian terletak pada penggunaan ... operator hamparan apabila menghantar elemen hirisan ke fungsi Exec(). Operator ini membongkar kepingan dan menghantar setiap elemen secara individu sebagai parameter.

Berikut ialah coretan kod diubah suai yang menangani isu:

tx.Exec(sqlStr, vals...)

Dalam versi diubah suai ini, vals... digunakan bukannya vals untuk melepasi elemen hirisan secara individu. Ini akan menjana pertanyaan SQL yang diingini sebagai:

INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')

Dengan menghantar antara muka tatasusunan dengan betul, anda boleh berjaya melaksanakan operasi sisipan pukal dan mengelakkan ralat ketidakpadanan kiraan lajur. Ingat untuk sentiasa menyemak ralat yang dikembalikan daripada Exec() dan mengendalikannya dengan sewajarnya.

Atas ialah kandungan terperinci Cara Menggunakan Golang dengan Betul ... Operator untuk Sisipan Pukal dengan GORM untuk Mengelakkan Ketakpadanan Kiraan Lajur?. 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