【问题标题】:SQL - insert and limit the number of entriesSQL - 插入和限制条目数
【发布时间】:2011-09-06 21:26:19
【问题描述】:

我有一个代表用户条目的表格:

User_ID | Entry_ID

现在我只想存储最后 20 个条目(例如)。

在保持每位用户的最大条目数为 20 的同时插入新条目的最佳方法是什么(新条目将替换最旧的条目)?

我还需要能够插入一个项目列表来替换旧项目(如果可能,以避免多个 SQL 请求)

【问题讨论】:

  • 你为什么不调用存储过程,在那个 SP 中删除旧条目并插入新条目。您使用的是哪个 DBMS?
  • 如果用户有 17 个条目,需要添加 4 个新条目,你如何选择 17 个条目中的哪一个被删除?提示:您需要另一列(effective_datesequence_number),对于每个用户的每个条目都是唯一的。

标签: sql sqlite database-design insert


【解决方案1】:

听起来像是trigger 的工作...

在插入触发器之后添加一个语句级,删除如下行:

delete from yourtbl
where yourid not in (
  select yourid from yourtbl order by yourid desc limit 20
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多