問題:
在Go中,一個人如何執行多個單一資料庫操作中的SQL語句使用database/sql包?
解決方案:
database/sql 套件提供了一個通用的 Exec() 函數,允許批次 SQL 語句。以下是實現它的方法:
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 }
優點:
以上是如何使用「database/sql」在 Go 中執行批次 SQL 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!