我想在MySQL表和Delete中设置最大行数

时间:2018-01-20 14:36:35

标签: php sql

我真正想要的是我想在sql表中插入数据,但我想限制50行的表格,当我插入新数据时,它会删除旧数据,因为新数据输入 例如 表格中已有50个数据我添加了10个新数据,新数据将插入,表格显示从开始删除10行。 如果新数据(行)10和db中的数据已经是45行,那么它将删除前5行并添加新5 所以我需要帮助和建议如何对表格进行限制,当新数据出现时,如果数据超过50行,则从开始行删除一些行 提前谢谢

1 个答案:

答案 0 :(得分:2)

为什么呢?你只是让插入时间更长。

相反,您可以插入新行并使用自动递增主键。然后你可以做类似的事情:

select t.*
from t
order by t.id desc
fetch first 50 rows only;

这将为您提供最近的50行。查询应该表现得很好。

这有什么好处?

  • 您可以保留所有数据,这对于查看过去发生的事情非常有用。
  • 表现不受影响。
  • 您可以更改" 50"到了另一个号码。
  • 您的插入内容不会因删除而减慢。
  • 没有必要处理触发器和其他复杂性。

当然,如果您的表将增长到数千万行,这可能不是最佳解决方案(表本身将开始耗费内存用于其他目的)。但对于小桌子来说,这是一个非常可行的解决方案。