没有合适的资源?快使用搜索试试~ 我知道了~
Golang sqlx 使用sql语句 Where in 解决办法
4 下载量 163 浏览量
2020-12-14
17:55:02
上传
评论
收藏 25KB PDF 举报
温馨提示
方法1、使用语言的for语句循环生成SQL语句中的“?”,类似这样: 新建方法 func placeholders(n int) string { var b strings.Builder for i := 0; i 0 { b.WriteString("?") } return b.String() } 调用方法: var ids []interface{} err := c.BindJSON(&ids) query := fmt.Sprintf("delete from device where id in (%s)", placeholders(len(ids)))
资源推荐
资源详情
资源评论
Golang sqlx 使用使用sql语句语句 Where in 解决办法解决办法
方法1、使用语言的for语句循环生成SQL语句中的“?”,类似这样:
新建方法
func placeholders(n int) string {
var b strings.Builder
for i := 0; i 0 {
b.WriteString("?")
}
return b.String()
}
调用方法:
var ids []interface{}
err := c.BindJSON(&ids)
query := fmt.Sprintf("delete from device where id in (%s)", placeholders(len(ids)))
_, err = models.DB.Exec(query, ids...)
...
方法2、 sqlx内置了一个In()方法用于处理这种情况,可以使得对in的处理十分优雅。
其实该方法的实现和我们方法1的处理原理类似。
import (
"github.com/jmoiron/sqlx"
)
var ids []int
err := c.BindJSON(&ids)
...
query1, args, err := sqlx.In("delete from device where id in (?)", ids)
_, err = models.DB.Exec(query1, args ...)
...
作者:d294083434
资源评论
weixin_38680764
- 粉丝: 3
- 资源: 903
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功