Java activejdbc update in子句不工作
我想使用activejdbc更新多个记录Java activejdbc update in子句不工作,java,activejdbc,Java,Activejdbc,我想使用activejdbc更新多个记录 Person.update("name = ?, last_name = ?", "name in ?", "Steve", "Johnson", "jagadeesh,varma,jampana,vikash"); 没有错误,但数据库中没有更新任何内容。问题与中的子句有关。 您正在按照条款要求传递“jagadeesh、varma、jampana、vikash”而不是(“jagadeesh”、“varma”、“jampana”、“vikash”) 此解
Person.update("name = ?, last_name = ?", "name in ?", "Steve", "Johnson", "jagadeesh,varma,jampana,vikash");
没有错误,但数据库中没有更新任何内容。问题与中的子句有关。 您正在按照条款要求传递“jagadeesh、varma、jampana、vikash”而不是(“jagadeesh”、“varma”、“jampana”、“vikash”) 此解决方案应能解决您的问题:
Person.update("name = ?, last_name = ?", "name in ('jagadeesh','varma','jampana','vikash')", "Steve", "Johnson");
问题与子句中的
有关。
您正在按照条款要求传递“jagadeesh、varma、jampana、vikash”而不是(“jagadeesh”、“varma”、“jampana”、“vikash”)
此解决方案应能解决您的问题:
Person.update("name = ?, last_name = ?", "name in ('jagadeesh','varma','jampana','vikash')", "Steve", "Johnson");
这不是ActiveJDBC框架的问题,而是JDBC标准不支持的问题。有关更多信息,请参见本页:
您需要连接字符串:
List names = Util.list("jagadeesh","varma","jampana","vikash");
List<Person> people = Person.update(name = ?, last_name = ?", "name IN ('" + Util.join(names, "', '") + "')", "John", "Doe");
List name=Util.List(“jagadeesh”、“varma”、“jampana”、“vikash”);
List people=Person.update(name=?,last_name=?”,“name IN('”+Util.join(names,“,”)+”),“John”,“Doe”);
不幸的是,如果您正在构建web应用程序,这可能会导致SQL注入攻击,因此请小心。这不是ActiveJDBC框架的问题,而是JDBC标准不支持的问题。有关详细信息,请参阅此页:
您需要连接字符串:
List names = Util.list("jagadeesh","varma","jampana","vikash");
List<Person> people = Person.update(name = ?, last_name = ?", "name IN ('" + Util.join(names, "', '") + "')", "John", "Doe");
List name=Util.List(“jagadeesh”、“varma”、“jampana”、“vikash”);
List people=Person.update(name=?,last_name=?”,“name IN('”+Util.join(names,“,”)+”),“John”,“Doe”);
不幸的是,如果您正在构建一个web应用程序,这可能会导致SQL注入攻击,所以要小心 update
方法返回更新的行数,请告诉我们您的呼叫返回。您使用的是哪个数据库?我认为问题与in
子句中的有关,请看一下:update
方法返回更新的行数,您能告诉我们您的调用返回值吗?您使用的是哪个数据库?我想问题与
子句中的有关,看看这个:谢谢ipolevoy,我没有得到你的答案,在上面的代码中你没有更新任何东西。有没有其他方法来更新具体的字段呢?@vladwoguer给出了相同的答案,我投票给了toothanks ipolevoy,我没有得到你的答案,在上面的代码中你没有更新任何东西。是否有其他方法可以更新子句中使用的特定字段?答案与@vladwoguer给出的答案相同,我在这里选中了它。我相信你的记录是“Jagadeesh”而不是“Jagadeesh”,所以应该是Person.update(“name=?,last_name=?”,“name in('Jagadeesh','Varma','Jampana','Vikash'),“Steve”,“Johnson”)代码>我在这里检查过了,没问题。我相信你的记录是“Jagadeesh”而不是“Jagadeesh”,所以应该是Person.update(“name=?,last_name=?”,“name in('Jagadeesh','Varma','Jampana','Vikash'),“Steve”,“Johnson”)代码>