SQLite使用rowid删除行无效



我创建了一个sql查询来删除给定rowid的行。当我运行查询时,没有任何错误,但是,该行不会被删除。

String query = "DELETE FROM " + TABLE_NAME + " WHERE " + " rowid " + " = " + id;
db.execSQL(query);

试试这个:

String query = "DELETE FROM " + TABLE_NAME + " WHERE rowid " + " = '" + id + "'";
db.execSQL(query);

但我个人更喜欢这种方式:

if (db.delete(TABLE_NAME, rowid+ " = ?", new String[]{id}) != 0) {
Log.i("row", "Has been deleted");
} else{
Log.i("row", "Has not been deleted");
}

解决方案:我使用了vacuum函数来重新生成正确的rowId。我之前删除了不存在该rowId的行。

最新更新