2011-10-11 3 views
1

오프셋을 사용하여 제한된 수의 행을 삭제하려고하지만 전체 테이블을 삭제할 수만있었습니다. Error: Caused by: android.database.sqlite.SQLiteException: near "ORDER": syntax error: DELETE FROM tblnameAndroid Sqlite : LIMIT 및 OFFSET을 사용하여 삭제 사용

The second statement wipes the entire table.

내가 잘못 뭐하는 거지 :

1. DELETE FROM tblname ORDER BY _id LIMIT N OFFSET M 
2. DELETE FROM tblname WHERE `_id` IN (SELECT `_id` FROM tblname ORDER BY `_id` ASC LIMIT ? OFFSET ?) 

첫 번째 문은 알려진 오류가 있습니다 :

나는 다음과 같은 방법을 시도? 좋은 대안은 무엇입니까?

감사합니다.

답변

0

DELITE 문에서 ORDER 및 LIMIT에 대한 SQLite 지원은 선택 사항이며 사용중인 라이브러리에 내장되어 있지 않을 수도 있습니다. http://www.sqlite.org/lang_delete.html

+0

'What : String deleteWithOffset = "DELETE FROM 'tableName'WHERE '_id'IN (SELECT '_id'FROM 'tableName'ORDER BY '_id'ASC LIMIT? OFFSET?)"; db.execSQL (deleteWithOffset, new String [] {String.valueOf (numberOfLocations), String.valueOf (firstLocationOffset)})); – Alex

관련 문제