开发者

Deleting specified number of rows from SQLite database

I am trying to remove 6 rows from the database using the following statement but I get the error shown below.

getWritableDatabase().execSQL("DELETE FROM tblname ORDER BY _id ASC LIMIT 6;");

Error:

Caused by: android.database.sqlite.SQLiteException: near "ORDER": syntax开发者_开发技巧 error: DELETE FROM tblname*

I tried reformatting the SQL in different ways but couldn't get it to work. What am I missing?


DELETE FROM tblname WHERE `_id` IN (SELECT `_id` FROM tblname ORDER BY `_id` ASC LIMIT 6)

I think your problem may have been quoting the _id, though.


The LIMIT and ORDER options for DELETE in sqlite are optional, and it appears they aren't enabled on Android. Borealid's SQL above will work fine even without the quotes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜