有人知道一种限制使用sql DELETE语句时删除的行数的方法吗?我只需要删除一次保存一定值的行,而不是删除值的每个实例。我的理解是LIMIT子句不能添加到SQLITE中的DELETE语句中。现在,我看不到一种方法来限制仅使用_id删除的行数,因为我不知道将提前删除哪个行_id;根据变量中保存的值删除行,它们可以位于数据库中的任何位置。我希望这是有道理的。这是删除声明:
String sql = "DELETE FROM strategyTotal WHERE strategy_prices = (?)" ;
db.execSQL(sql, new Double[] {subtractedStrategyPrice });
答案 0 :(得分:2)
使用子查询:
String sql = "DELETE FROM strategyTotal WHERE _id IN (SELECT _id FROM strategyTotal WHERE strategy_prices = (?) LIMIT 1);" ;
db.execSQL(sql, new Double[] {subtractedStrategyPrice });
答案 1 :(得分:0)
delete from tablename where rowid in (
select rowid from tablename condition LIMIT 1)
尝试上述解决方法,或者您可能需要启用SQLITE ENABLE UPDATE DELETE LIMIT
我的查询只是一个例子。用你自己的查询替换它。