Android:使用IN运算符更新Sqlite DB

时间:2017-12-20 07:57:19

标签: android sqlite

我想知道如何在 <script data-require="angular.js@1.5.x" src="https://code.angularjs.org/1.5.8/angular.min.js" data-semver="1.5.8"></script> <div ng-app="app"> <div ng-controller="mainController"> <div>{{ datestring | customDate }}</div> </div> </div>子句中使用table更新IN。 我可以使用WHERE运算符更新它,但不知道我应该如何使用=进行更新。

我尝试在Google和SO上搜索一下,但他们似乎只处理IN

任何人都可以指导我一些链接或发布答案如何做到这一点。

这是我尝试的方式。

=

参数是逗号分隔的整数列表,如1,2,3 ......

谢谢

1 个答案:

答案 0 :(得分:0)

所以你需要一个?的多个值,对吗?我不认为这是可能的。

每个? parameter最终将与[sqlite3_bind_XYZ](https://sqlite.org/c3ref/bind_blob.html绑定,并且没有用于将多个值(如数组)绑定到一个参数的函数。

有两种方法可以解决它:

  1. 为您想要的每个args组合运行一次更新。这将使您拥有的参数组合越来越昂贵,但您可以通过将其全部包装在事务中来减轻一些开销。
  2. 生成具有适当数量问号的SQL字符串。如果使用不同数量的参数进行频繁更新,则可能会通过强制重复编译查询来影响性能,因为当参数数量不同时,Android的编译语句缓存将找不到匹配项。
  3. 另请参阅this question了解Python中的相同案例。