【发布时间】:2016-03-17 02:09:39
【问题描述】:
示例:我在数据库中插入了 3 个相同值的数据(a、a、a)
在数据库中
一个
一个
一个
如何才能通过引用行号仅删除第二行的“a”。
【问题讨论】:
-
一个关键字:ROWID,更多here
标签: android database sqlite row
示例:我在数据库中插入了 3 个相同值的数据(a、a、a)
在数据库中
一个
一个
一个
如何才能通过引用行号仅删除第二行的“a”。
【问题讨论】:
标签: android database sqlite row
使用 slqlite3 你的选择是
"DELETE from example_table where example_column = 'a';"
但是,这会删除所有带有“a”的行,这不是您想要的。您可以做的是搜索所有“a”位。然后获取第二个的 id,然后删除该 id 所在的位置。
我假设您的问题是您不知道 id 而不是您没有 id 列。 (您真的应该这样做,否则您的数据库将变得非常缓慢且无法使用)
实施我的解决方案:
// get the id of the second a row.
Cursor c = db.rawQuery("SELECT id from example_table where example_column = a ;");
// iterate and get 2nd row
if (c.moveToPosition(1)){ // positions start at 0 in programming
int id = c.getInt(0);
db.exec("DELETE from example_table where id ="+id+";");
}
【讨论】: