子句中的activejdbc更新不起作用

时间:2019-06-05 20:13:16

标签: java activejdbc

我想使用activejdbc更新多个记录

Person.update("name = ?, last_name = ?", "name in ?", "Steve", "Johnson", "jagadeesh,varma,jampana,vikash");

没有错误,但是数据库中没有任何更新

2 个答案:

答案 0 :(得分:1)

问题与in子句有关。 根据{{​​3}}子句的要求,您传递的是“ jagadeesh,varma,jampana,vikash”而不是“('jagadeesh','varma','jampana','vikash')”

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

Person.update("name = ?, last_name = ?", "name in ('jagadeesh','varma','jampana','vikash')", "Steve", "Johnson");

in

答案 1 :(得分:1)

这不是ActiveJDBC框架的问题,而是JDBC标准不支持的问题。请查看此页面以获取更多信息: http://javalite.io/in_clause

您需要连接字符串:

 groupdf = coinc.groupby('id').agg(any)
 # Selects instance where both contain at least one true statement
 mask = maskdf[['temp1','temp2']].all(axis=1) 
 lanif = groupdf[mask].drop(['temp1','temp2'],axis = 1 )

不幸的是,如果您正在构建Web应用程序,这可能会引发SQL注入攻击的可能性-请务必小心。