Go 中高效的多数据插入
在数据库操作中,出于效率原因,同时插入多个数据行通常是有利的。 Go 提供了多种方法来实现此目的。
一种方法是使用 db.Prepare 函数创建准备好的语句。通过使用准备好的语句,您可以避免 SQL 注入并提高性能。要使用准备好的语句在单次执行中插入多行,请按照下列步骤操作:
sqlStr := "INSERT INTO test(n1, n2, n3) VALUES (?, ?, ?)"
data := []map[string]string{ {"v1":"1", "v2":"1", "v3":"1"}, {"v1":"2", "v2":"2", "v3":"2"}, {"v1":"3", "v2":"3", "v3":"3"}, }
vals := []interface{}{} for _, row := range data { vals = append(vals, row["v1"], row["v2"], row["v3"]) }
//trim the last , sqlStr = sqlStr[0:len(sqlStr)-1]
stmt, _ := db.Prepare(sqlStr)
res, _ := stmt.Exec(vals...)
通过使用这种方法,您可以高效地将多个数据行插入到一个数据库,同时保证安全并减少数据库执行次数。
以上是Go中如何高效插入多行数据?的详细内容。更多信息请关注PHP中文网其他相关文章!