我有一個表在我的數據庫有三列:屏幕,圖標和秩:我試圖找到最乾淨的方式來實現以下..我如何遞減SQLite表的int列
我想找到的所有行屏幕=「自選畫面」和排名> 5 //然後做出一個等級小於電流值..我在Java中通過下面的函數一個SQLite Manager類這樣做:
public void DeleteScreenIcon (int id, String screenName, int rank){
int screenID = getScreenID(screenName);
SQLiteDatabase db=this.getWritableDatabase();
db.delete(isLookUp, colScreenID + "=" + screenID + " and " +colIconID+ "="+id, null);
// HERE IS WHERE I NOW WANT TO DO THAT..
db.execSQL("update "+ isLookUp +" set "+colRank+ "=" +colRank+ " -1 "+" where " + colScreenID + "='" +screenName + "' and " + colRank +">" +rank);
db.close();
}
對不起,即時通訊不熟悉SQL任何幫助表示讚賞
在SQL中,您可以簡單地在更新語句中執行'Rank = Rank-1'。 – Sjoerd 2012-03-23 13:02:43
我有類似的問題: - 'ContentValues dataToInsert = new ContentValues(); dataToInsert.put(MARKER_ID,MARKER_ID +「 - 1」); String where = IMAGE_ID_F +「=」+ imageId +「AND」+ MARKER_ID +「>」+ markerId +「;」; int resultUpdate = db.update(TABLE_DEFECTS,dataToInsert,where,null);' – 2012-12-31 09:12:49
上述似乎不起作用。 – 2012-12-31 09:14:07