Удаление указанного количества строк из базы данных SQLite - PullRequest
4 голосов
/ 09 августа 2010

Я пытаюсь удалить 6 строк из базы данных, используя следующую инструкцию, но я получаю ошибку, показанную ниже

getWritableDatabase (). ExecSQL ("УДАЛИТЬ ОТ tblname ORDER BY _id ASC LIMIT 6;");

Ошибка: Причина: android.database.sqlite.SQLiteException: около "ORDER": синтаксическая ошибка: DELETE FROM tblname

Я пытался переформатировать SQL различными способамино я не мог заставить его работать.Что мне не хватает?Большое спасибо за вашу помощь

Ответы [ 2 ]

8 голосов
/ 09 августа 2010
DELETE FROM tblname WHERE `_id` IN (SELECT `_id` FROM tblname ORDER BY `_id` ASC LIMIT 6)

Я думаю, что ваша проблема, возможно, заключалась в цитировании _id.

4 голосов
/ 09 мая 2011

Параметры LIMIT и ORDER для DELETE в sqlite являются необязательными, и, похоже, они не включены в Android. Вышеуказанный SQL Бореалида будет хорошо работать даже без кавычек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...