4 Star 16 Fork 12

北京小程科技有限公司/数据库批量同步工具

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
update_multi.go 716 Bytes
一键复制 编辑 原始数据 按行查看 历史
shallot 提交于 2020-04-25 01:45 +08:00 . 添加SQLite的支持,增加测试样例。
package dbsync
// 插入多条数据时的配置信息
type UpdateMultiOptions struct {
UpdateOptions
BatchCount int // 一次批量插入的条数,用于加快执行速度
}
// 插入多条增量更新的数据
func DoUpdate(
db SQLCommon,
tableName string,
data [][]interface{},
options UpdateMultiOptions,
) (err error) {
dataLen := len(data)
for i := 0; i < (dataLen-1)/options.BatchCount+1; i++ {
offset := options.BatchCount * i
var piece [][]interface{}
if offset+options.BatchCount > dataLen {
piece = data[offset:]
} else {
piece = data[offset : offset+options.BatchCount]
}
if err = update(db, tableName, piece, options.UpdateOptions); err != nil {
return
}
}
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xiaochengtech/dbsync.git
git@gitee.com:xiaochengtech/dbsync.git
xiaochengtech
dbsync
数据库批量同步工具
master

搜索帮助