项目开发过程中,需要用到IN
进行查询,但是谁能料到不同版本的gorm写法不同…
首先是 gorm.io/gorm
版本,看一下官网的写法
// IN
db.Where("name IN ?", []string{"jinzhu", "jinzhu 2"}).Find(&users)
// SELECT * FROM users WHERE name IN ('jinzhu','jinzhu 2');
下面是github.com/jinzhu
版本,没有找到,但是我试验了下,这样可以成功
db.Table("users").Where("id in ? ",[]int{1,2,3}).Find(&user)
本人在项目开发过程中,使用的是gorm.io版本的写法。测试了半天一直没有效果,最后发现整个项目用的是下面版本的,修改语法后,就成功了…
大家一定要注意自己的导包情况