如何限制表行数并在找到时替换?

时间:2011-06-20 14:42:14

标签: android sqlite

我对数据库查询相当新,并且我立即找到了一个复杂情况的自我。

我的数据库表包含3列:

_id | stringValue | timeStamp

我有3个限制;

  1. 允许的最大行数等于100.
  2. 如果表格已满,则最旧的项目将被删除。
  3. 如果要添加的新项目与stringValue匹配,则只会更新时间戳。
  4. 我目前正在进行3次查询:

    1. 如果项目刚刚更新,请检查项目是否已存在。如果它不只是添加它。
    2. 如果项目不存在,请检查表格中有多少项目
    3. 如果超过100件商品删除最早的
    4. 我想我可以做一个查询来实现所有这些......任何提示或想法都将不胜感激!

1 个答案:

答案 0 :(得分:0)

对于插入的问题,如果项目不存在或更新,如果没有,请使用“INSERT OR REPLACE INTO”作为sql语句。

对于最大行数的约束,这是你必须单独处理的事情,有几种方法可以做到这一点。

这是一篇较旧的帖子: Limit an sqlite Table's Maximum Number of Rows