내 iPhone 앱에서 FMDB를 사용하고 있으며 테이블의 행 수를 특정 값으로 제한하려고합니다. 새 레코드를 삽입 할 때마다 maxNumberOfEntries가 초과되었는지 확인하고 가장 오래된 항목을 삭제합니다.'LIMIT'을 사용하여 테이블에서 행을 삭제하는 방법
(...)
[db beginTransaction];
[db executeUpdate: @"DELETE FROM table_name WHERE someId = ? ORDER BY date LIMIT 10", [NSNumber numberWithInt: 123], nil];
[db commit];
(...)
하지만 SQLite는 쿼리의 "LIMIT"part의를 인식하지 못하는 것처럼 보인다 : 나는 다음을 시도했다. 삭제할 항목을 직접 지정하지 않고 표의 특정 행을 삭제하는 방법은 무엇입니까?
LIMIT start, range 첫 번째 30 개를 삭제하려면 LIMIT 0,30을 수행하십시오. 첫 번째를 유지하면서 30을 계속 삭제하려면 LIMIT 1,30이 아니라 LIMIT 1,31 –
이 작동하지 않습니다. limit-part 없이는 someId = 123 인 모든 항목을 삭제합니다. 아무 것도 삭제하지 않습니다. – rindeastwood
이 문제가 해결 되었습니까? – bryanmac