のようなステートメントを実行したい
UPDATE myTable SET myField = myField + 1
Android SQLite データベースで。(はい、すべてのレコードの myField を増やしたいです。)
私の最初のアイデアは を使用することでしたexecSQL
が、ドキュメントには次のように記載されています。
SELECT/INSERT/UPDATE/DELETE ではない単一の SQL ステートメントを実行します。
...
UPDATE ステートメントの場合は、代わりに次のいずれかを使用します。
• update(String, ContentValues, String, String[])
• updateWithOnConflict(String, ContentValues, String, String[], int)
ただし、私が見る限り、このタイプの UPDATE はSQLiteDatabase.update
メソッドでは実行できません。これを行うための巧妙なトリックを見逃しSQLiteDatabase.update
たのですか、それともドキュメントが壊れていますか? (上記の SQL を execSQL で実行すると問題なく動作しますが、ドキュメントではそうではないと主張しています。)