SQLite 删除行使用 rowid 不工作
SQLite delete row using rowid not working
我创建了一个 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 不存在的行。
我创建了一个 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 不存在的行。