Penyata SQL Batching Pangkalan Data/SQL
Soalan:
Di Java, penyata SQL batching dengan pakej pangkalan data/sql adalah mudah. Bagaimanakah anda boleh mencapai kefungsian yang sama dalam Go?
: Jawapan:
Pakej pangkalan data/sql dalam Go membolehkan anda menyusun pernyataan SQL menggunakan fungsi db.Exec, yang mengambil bilangan hujah yang berubah-ubah. Begini cara anda boleh melaksanakan batching dalam Go:
Bina Pernyataan SQL:
Buat rentetan yang mengandungi pernyataan SQL dengan pemegang tempat untuk nilai yang ingin anda masukkan. Contohnya:
stmt := "INSERT INTO my_table (field1, field2, field3) VALUES (?, ?, ?)"
Meletupkan Argumen:
Buat kepingan berasingan untuk nilai yang ingin anda masukkan. Untuk setiap baris, tambahkan nilai pada kepingan ini.
valueStrings := make([]string, 0, len(unsavedRows)) valueArgs := make([]interface{}, 0, len(unsavedRows) * 3) for _, post := range unsavedRows { valueStrings = append(valueStrings, "(?, ?, ?)") valueArgs = append(valueArgs, post.Field1) valueArgs = append(valueArgs, post.Field2) valueArgs = append(valueArgs, post.Field3) }
Laksanakan Kumpulan:
Gunakan fungsi db.Exec untuk melaksanakan pernyataan SQL berkumpulan, menyampaikan hujah hirisan.
_, err := db.Exec(stmt, valueArgs...)
Kaedah ini melaksanakan operasi batching dalam satu rangkaian pergi balik, menjadikannya cekap untuk memasukkan sejumlah besar data.
Atas ialah kandungan terperinci Bagaimana untuk Batch Penyata SQL dalam Pakej `pangkalan data/sql` Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!