Java 如何减少SQLite表的int列

Java 如何减少SQLite表的int列,java,android,sqlite,Java,Android,Sqlite,我的数据库中有一个表,它有三列:Screen、Icon和Rank。我正试图找到最干净的方法来实现以下目标 我想找到Screen=“myScreen”和Rank>5//的所有行,然后使Rank one小于当前值。。我在Java中通过以下函数中的SQLite管理器类执行此操作: public void DeleteScreenIcon (int id, String screenName, int rank){ int screenID = getScreenID(screenNam

我的数据库中有一个表,它有三列:Screen、Icon和Rank。我正试图找到最干净的方法来实现以下目标

我想找到Screen=“myScreen”和Rank>5//的所有行,然后使Rank one小于当前值。。我在Java中通过以下函数中的SQLite管理器类执行此操作:

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,非常感谢您的任何帮助

此更新应该可以:

UPDATE myTable 
SET Rank = Rank - 1
WHERE Screen = "myScreen"
AND Rank > 5;

在SQL中,您只需在update语句中执行
Rank=Rank-1
;dataToInsert.put(MARKER_ID,MARKER_ID+“-1”);字符串,其中=IMAGE_ID_F+“=”+imageId+”和“+MARKER_ID+”>“+markerId+”;”;int resultUpdate=db.update(表_缺陷,dataToInsert,其中,null)