Masalah:
Dalam Go, bagaimana seseorang boleh melaksanakan berbilang Penyataan SQL dalam satu operasi pangkalan data menggunakan pangkalan data/sql pakej?
Penyelesaian:
Pakej pangkalan data/sql menyediakan fungsi Exec() serba boleh yang membenarkan penyata SQL berkumpulan. Begini cara anda boleh melaksanakannya:
func BulkInsert(unsavedRows []*ExampleRowStruct) error { valueStrings := make([]string, 0, len(unsavedRows)) valueArgs := make([]interface{}, 0, len(unsavedRows)*3) for _, post := range unsavedRows { valueStrings = append(valueStrings, "(?, ?, ?)") valueArgs = append(valueArgs, post.Column1) valueArgs = append(valueArgs, post.Column2) valueArgs = append(valueArgs, post.Column3) } stmt := fmt.Sprintf("INSERT INTO my_sample_table (column1, column2, column3) VALUES %s", strings.Join(valueStrings, ",")) _, err := db.Exec(stmt, valueArgs...) return err }
Kelebihan:
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penyata SQL Berkelompok dalam Go menggunakan `pangkalan data/sql`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!