我的SQL不错,但iOS上的SQLite不断吸引我。

我有一个表,希望将行数限制在500左右,因此当它达到触发点550时,它将删除最早的50行。

它在滚动,因此随着时间的流逝,id不会总是从1开始,并且用户可以删除行,因此id是非顺序的。

我有一个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

文档说可以,但是失败。有任何想法吗?

最佳答案

遵循这些思路,也许?

delete from contents where juliandate <= (
    select max(juliandate) from (
        select juliandate from contents order by juliandate limit 0, 50));

您可以使用id代替juliandate或任何其他随每次插入值增加的字段。

07-28 08:15