【问题标题】:Delete specific row in sql without referring to ID [duplicate]删除sql中的特定行而不参考ID [重复]
【发布时间】:2016-03-17 02:09:39
【问题描述】:

示例:我在数据库中插入了 3 个相同值的数据(a、a、a)

在数据库中

一个

一个

一个

如何才能通过引用行号仅删除第二行的“a”。

【问题讨论】:

  • 一个关键字:ROWID,更多here

标签: android database sqlite row


【解决方案1】:

使用 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+";");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2012-03-27
    • 2018-12-14
    相关资源
    最近更新 更多