社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

SQLite データの更新

特定のフィールドの数値を1だけインクリメントする更新を行います。
インクリメントの更新であれば、”set フィールド名=フィールド名+増分” で可能です。

データベースヘルパークラス内に、以下のような関数を用意します。
words テーブルの "count_questions" フィールドの値を1だけインクリメントします。

fun updateByCorrectAnswer(id: Int) {
  // Get database connection object
  val db = writableDatabase

  // Statement for update
  val sqlUpdate = "UPDATE words set count_questions = count_questions+1 where _id = ?"
  var stmt = db.compileStatement(sqlUpdate)
  stmt.bindLong(1, id.toLong())
  stmt.executeUpdateDelete()
}

結果、以下のように1つのフィールドの値が0から1に更新されます。
f:id:blueskyarea:20200616224747p:plain