SQLite iOS DB删除旧记录
我正在尝试为我的SQLite DB构建一个DELETE语句,该语句将确保删除超过X个记录的任何内容。我不太熟悉SQL,所以我不知道如何编写它,我还需要确保记录首先按日期字段排序,该字段存储为整数,以便确保保留最新的X行并删除较旧的记录SQLite iOS DB删除旧记录,ios,sql,sqlite,Ios,Sql,Sqlite,我正在尝试为我的SQLite DB构建一个DELETE语句,该语句将确保删除超过X个记录的任何内容。我不太熟悉SQL,所以我不知道如何编写它,我还需要确保记录首先按日期字段排序,该字段存储为整数,以便确保保留最新的X行并删除较旧的记录 非常感谢您提供的任何帮助。可以在SQLite中使用子查询和使用limit来完成 在这里,您的子查询将返回所有需要根据限制X5删除的ID。我希望它能帮助你 DELETE FROM TABLENAME WHERE ID IN ( SELECT ID FRO
非常感谢您提供的任何帮助。可以在SQLite中使用子查询和使用limit来完成 在这里,您的子查询将返回所有需要根据限制X5删除的ID。我希望它能帮助你
DELETE FROM TABLENAME WHERE ID IN (
SELECT ID FROM TABLENAME
WHERE DATE < strftime('%s','now') limit 5
);
您可以使用类似于以下内容的查询。在日期列上也应该有一个索引
DELETE FROM mytable WHERE date_column >= (
SELECT date_column
FROM mytable
ORDER BY date_column
OFFSET num_rows_you_want_to_keep
LIMIT 1
)
您不需要对记录进行排序,也不需要进行子选择。只需从datefield