仲天
首页
(current)
分类
Go
Python
自动化脚本
xTS(谷歌认证测试)
Selenium
软件测试
Redis
Mysql
Docker
MongoDB
Jquery
Nginx
Bootstrap
Linux
正则表达式
bat
cmd批处理
截图
作者分享
JSON
SEO
在线工具
搜索
golang批量更新mysql数据
2022-07-20 14:20:01
483
本文章为原创文章,转载请附上原文地址,谢谢。
```go func updateClientAuthData(db *gorm.DB, data []map[uint]string) { logger.Debug(len(data)) if len(data) < 1 { return } var ( ids string isBreak bool peak int = 10 newData []map[uint]string ) if len(data) >= peak { isBreak = true } buff := bytes.Buffer{} sql := fmt.Sprintf(`UPDATE rel_client_product SET options = CASE id `) buff.WriteString(sql) stop: for i, v := range data { for k, v1 := range v { if ids == "" { ids = strconv.Itoa(int(k)) }else { ids = ids + "," + strconv.Itoa(int(k)) } if i == peak || i == len(data)-1{ buff.WriteString(fmt.Sprintf(`WHEN %d THEN '%s' END `, k, v1)) } else { buff.WriteString(fmt.Sprintf(`WHEN %d THEN '%s' `, k, v1)) } if isBreak{ if i >= peak { newData = append(newData, data[peak+1:]...) break stop } } } } logger.Debug(ids) args := fmt.Sprintf(`WHERE id IN (%v)`, ids) buff.WriteString(args) if err := db.Debug().Exec(buff.String()).Error; err != nil { logger.Error(err) return } if isBreak{ updateClientAuthData(db, newData) } } ```
版权声明:本文为仲天原创文章,转载请附上原文出处链接和本声明。
本文链接:
文章分类
Go
Python
自动化脚本
xTS(谷歌认证测试)
Selenium
软件测试
Redis
Mysql
Docker
MongoDB
Jquery
Nginx
Bootstrap
Linux
正则表达式
bat
cmd批处理
截图
作者分享
JSON
SEO
推荐文章
对于谷歌认证测试(xTS),分享一下自己在工作中编写的一些脚本。
409
基于Go、Gin、Redis、Mysql、Vue、TS、Vite、ElementPlus开发的后台管理系统。
516
python实现VTS和CTS-ON-GSI自动flash system.img脚本
351
python + selenium + unittest 实现网站登录注册自动化测试
311
golang批量更新mysql数据
483
优选网站
在线JSON工具
在线音频提取
Linux在线大全
PDF转WORD
TCP/IP端口大全