项目开发过程中,需要用到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版本的写法。测试了半天一直没有效果,最后发现整个项目用的是下面版本的,修改语法后,就成功了…

大家一定要注意自己的导包情况

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐