SQLite 表中的记录数量有限
问 1) 我想在我的数据库表中插入有限数量的记录,比如说 10 条。如果我添加第 11 条记录,那么最旧的记录将被删除并删除。第 11 条记录将作为新记录添加。
我怎样才能知道哪条是我的表中最旧的记录,以便我可以删除它并删除它?添加新记录。
Q 2) 我想在表中插入最多 2 条记录。我的第一条记录是默认记录。如果用户不提供第二条记录,那么我将使用我的默认记录。我的第二个记录是可变的。用户输入第二条记录。现在,如果用户想更改第二条记录,我该如何更改它?
sql =“更新abc集名称=?其中id=?” ,newName,existingId
像上面的查询一样吗?但在这种情况下我怎么知道existingId呢?
Q 1) I want to insert limited number of records in my db table lets say 10. If i add 11th record then oldest record will be deleted & 11th record will be added as new record.
How can i know which is the oldest record in my table , so that i can delete it & add new record.
Q 2) I want to insert maximum 2 records in my table. My first record is default record. If user doesn't provide second record then i will use my default record. My second record is changeable. User entered second record. Now if user want to change second record how can i change it?
sql = "update abc set name = ? where id = ?" ,newName,existingId
Like above query? But how can i know existingId in this case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先:添加一个具有默认值
NOW()
的date
字段,然后从 mytable where date=min(date)
中删除或类似的东西。但你最好使用 sqlite 之外的其他例程。其次:如果你只有两行并且想要更改它们,你当然可以对你的 id 进行硬编码,但这将是一个丑陋的解决方案。您可以使用配置文件或类似的东西,或者将布尔列
default
添加到表中并通过其值来区分它们。First: add a
date
field with default valueNOW()
and thendelete from mytable where date=min(date)
or sth like that. But you'd better use some other routine than sqlite.Second: if you've got only two rows and want to change them, you can, surely, hardcode your ids, but it would be an ugly solution. You can use config files or sth like that, or add boolean column
default
to the table and distinguish them by its value.