首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >activejdbc update in子句不起作用

activejdbc update in子句不起作用
EN

Stack Overflow用户
提问于 2019-06-06 04:13:16
回答 2查看 228关注 0票数 0

我想使用activejdbc更新多条记录

代码语言:javascript
复制
Person.update("name = ?, last_name = ?", "name in ?", "Steve", "Johnson", "jagadeesh,varma,jampana,vikash");

没有错误,但db中没有更新任何内容。

EN

回答 2

Stack Overflow用户

发布于 2019-06-06 04:45:33

这个问题与in子句有关。您正在按照in子句的要求传递"jagadeesh,varma,jampana,vikash“not "('jagadeesh','varma','jampana','vikash')”

这个解决方案应该可以解决您的问题:

代码语言:javascript
复制
Person.update("name = ?, last_name = ?", "name in ('jagadeesh','varma','jampana','vikash')", "Steve", "Johnson");

More details

票数 1
EN

Stack Overflow用户

发布于 2019-06-06 05:23:41

这不是ActiveJDBC框架的问题,而是JDBC标准不支持的东西。有关更多信息,请参阅此页面:http://javalite.io/in_clause

您将需要连接字符串:

代码语言:javascript
复制
List names = Util.list("jagadeesh","varma","jampana","vikash");
List<Person> people = Person.update(name = ?, last_name = ?", "name IN ('" + Util.join(names, "', '") + "')", "John", "Doe");

不幸的是,这可能会打开SQL注入攻击的可能性,如果你正在构建一个web应用程序-所以要小心。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56467359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档