问题:
在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中文网其他相关文章!