从 SQLite 中删除旧行
Posted
技术标签:
【中文标题】从 SQLite 中删除旧行【英文标题】:Remove old row from SQLite 【发布时间】:2014-04-03 07:35:16 【问题描述】:我们在 android 上使用数据库。我们在其中收集了大量数据,以免混淆用户的记忆,我们想做清洁。在数据库中,我们要保留 35 条最新记录。怎么做?
【问题讨论】:
重复***.com/questions/13028725/… 【参考方案1】:如果不提供更多信息,我可以给你一个原始 SQL,因为我不知道你是如何实现你的 SQLite 数据库的。
DELETE FROM my_table WHERE my_id NOT IN(SELECT my_id FROM my_table ORDER BY my_id DESC LIMIT 35)
这样您将删除所有寄存器,但最近的 35 个除外(假设您的表中有一个递增的主键。)
希望对你有帮助。
【讨论】:
【参考方案2】:我认为你必须将 'LIMIT 35' 连接到你的 where 子句。喜欢这个答案:https://***.com/a/7700422/1143172。
我的意思是:
DELETE FROM [tbl_names] LIMIT 35
【讨论】:
【参考方案3】:您必须考虑如何对表进行排序以获得最新的 35 条记录。也许是 id 或 date 字段。 您应该查看此帖子以获取更多信息 Delete all but top n from database table in SQL
【讨论】:
以上是关于从 SQLite 中删除旧行的主要内容,如果未能解决你的问题,请参考以下文章
不和谐 Java JDA |从 SQLite 删除数据/从 SQLite 获取数据 [关闭]
如何使用 PHP(和 HTML)从 SQLite 中选择、插入、更新和删除数据