SQLite删除where子句参数

时间:2018-03-10 17:41:29

标签: java android database sqlite where-clause

我是Sqlite的新手。之前我尝试使用trick_id

删除表格中的一行
public void deleteTrick (int trick_id) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(Constants.TRICKS_TABLE, Constants.TRICK_ID + " ?= ", new String[]{ String.valueOf(trick_id)});
    db.close();
}

但现在我需要根据两个约束trick_id和opn_id删除行。

如何使用' where子句'删除与相同opn_id&匹配的行trick_id作为参数传递给delete方法?

public void deleteTrick (int trick_id,int opn_id) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(Constants.TRICKS_TABLE, Constants.TRICK_ID + " ?= " WHERE Constants.OPN_ID + " ?= ", new String[]{ String.valueOf(trick_id), String.valueOf(opn_id)};
    db.close();
}

2 个答案:

答案 0 :(得分:2)

删除:

db.delete(TableName,ID_that_you_want_to_delete + " =?" , new String[]{your id that given for delete }) ;



db.delete(Constants.TRICKS_TABLE, Constants.TRICK_ID + " =? ",new String[]{String.valueOf(opn_id)})

答案 1 :(得分:0)

你可以使用像这样的删除方法

  public void deleteTrick() {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(Constants.TRICKS_TABLE, null, null);
    db.close();
}

在此代码中,第一个 null 是你的WHERE子句,第二个 null 是你的Whereargs。如果我的答案是正确的你可以接受。快乐编码:)