删除时,需要传入string类型的切片作为条件,实现批量删除。
codes := []string{}
//...
执行一系列操作为codes赋值
//...
_, delRolErr := session.Where("code in ?", codes ).Delete(po.User{})
上面删除语句执行时报错:converting argument $1 type: unsupported type []string, a slice of string
看了一下打印出的sql没啥问题,就是一条批量删除sql,猜测传参方式不对,对xorm不熟,最后试了一个In函数解决:
_, delErr := session.In("code", usercodes).Delete(po.User{})
本文详细介绍了使用XORM框架在Go语言中进行批量删除操作的正确方法。文章首先描述了直接使用切片作为参数传递给Delete函数时遇到的类型转换错误,随后给出了正确的解决方案,即利用In函数来实现批量删除,避免了类型不匹配的问题。

802

被折叠的 条评论
为什么被折叠?



