android - android数据库的插入顺序

标签 android database insert

我想知道如何在数据库的开头插入一个元素?我想这样做是因为: a) 我想将元素 (ListView) 显示为“最后插入在顶部,首先插入在底部”(如堆栈) b) 我想限制我的数据库中的元素数量。添加新元素(超过限制)时,我可以放入新元素(在开头)并删除最后一个。 (还不知道如何删除最后一个元素)。

我正在寻找解决方案,但我开始怀疑我是否可以控制元素的插入方式。如果不是,我正在考虑从头到尾显示数据库。但实际上不知道该怎么做,因为游标总是设置在数据库的开头。如果可以实现这一点,我可以通过删除第一个元素来解决 b)(同样不知道如何实现)。

最佳答案

每个 SQLite 表的每一行都有一个 64 位带符号整数键,用于唯一标识其表中的行。这个整数通常称为“rowid”

最后插入在顶部,首先插入在底部....

SELECT * from mytable order by ROWID desc;

阅读更多关于 ROWID here 的信息

然后,删除最旧的:

DELETE from mytable WHERE ROWID = (SELECT MIN(ROWID) FROM mytable);

如果使用 ROWID,则不必修改现有表。并且,ROWID 的值是有保证的。

关于android - android数据库的插入顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4657472/

相关文章:

android - 将 1000 多条记录上传到服务器的最佳方法是什么,该服务器还包含来自 iOS/Android 应用程序的每条记录的图像?

php pdo 插入语句不起作用

mysql - 如何使用不同的列进行干净的连接而不重复

java - Android 登录 Activity 模板

android - 以编程方式过滤设备日志

java - 按下后退时将进度条重置为 0

php - real_escape_string 不清理输入的文本

sql - postgresql: 插入到... (SELECT * ...)

mysql - 数据插入到本地测试服务器上的特定表中,但不会插入到实时站点上

android - 动态创建布局