Мой SQL не плохой, но SQLite на iOS постоянно меня ловит.Удалите все, кроме последних 500 строк из базы данных sqlite
У меня есть таблица, где я хочу ограничить количество строк примерно до 500, поэтому, когда он достигает точки запуска, скажем 550, он удалит самые ранние 50 строк.
Это происходит со временем, когда идентификатор не всегда начинается с одного, и пользователь может удалять строки, поэтому идентификатор не является последовательным.
У меня есть juliandate
поле (double
), но я не уверен, что любое использование
DELETE FROM contents WHERE id > '0' ORDER BY id DESC LIMIT 0, 50
DELETE FROM contents ORDER BY id DESC LIMIT 0, 50
Документация говорит, что это нормально, но это не удается. Есть идеи?
Как это терпят неудачу? Сообщение об ошибке или просто ничего не удаляет или удаляет неправильные вещи? Почему бы вам не использовать поле даты, чтобы вы могли удалить самые старые 50? –
@NickBull, '1.' Sqlite3 не так много подробностей об ошибках:' Error: near "LIMIT": синтаксическая ошибка'. '2.' может не быть поля даты. –
@MishaAkovantsev 1. Это сообщение об ошибке достаточно, чтобы увидеть, что есть синтаксическая ошибка, а не ошибка, заключающаяся в том, что неправильные записи удалены. 2. OP говорит: «У меня есть поле juliandate» –