資料庫/SQL 批次SQL 語句
問題:
問題:問題:
: 答案:
Go 中的 database/sql 套件可讓您使用 db.Exec 函數批次 SQL 語句,它需要可變數量的參數。以下是在Go 中實現批次處理的方法:
stmt := "INSERT INTO my_table (field1, field2, field3) VALUES (?, ?, ?)"
建立SQL 語句:
建立一個包含SQL 語句的字串,其中包含語句佔位符您要插入的值。例如: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) }
分解參數:
為要插入的值建立單獨的切片。對於每一行,將值附加到這些切片。_, err := db.Exec(stmt, valueArgs...)
執行批次:
使用 db.Exec 函數執行批次的 SQL語句,傳入參數此方法在單次網路往返中執行批次操作,從而可以有效地插入大量資料。以上是如何在 Go 的 `database/sql` 套件中批次執行 SQL 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!