我真正想要的是我想在sql表中插入数据,但我想限制50行的表格,当我插入新数据时,它会删除旧数据,因为新数据输入 例如 表格中已有50个数据我添加了10个新数据,新数据将插入,表格显示从开始删除10行。 如果新数据(行)10和db中的数据已经是45行,那么它将删除前5行并添加新5 所以我需要帮助和建议如何对表格进行限制,当新数据出现时,如果数据超过50行,则从开始行删除一些行 提前谢谢
答案 0 :(得分:2)
为什么呢?你只是让插入时间更长。
相反,您可以插入新行并使用自动递增主键。然后你可以做类似的事情:
select t.*
from t
order by t.id desc
fetch first 50 rows only;
这将为您提供最近的50行。查询应该表现得很好。
这有什么好处?
当然,如果您的表将增长到数千万行,这可能不是最佳解决方案(表本身将开始耗费内存用于其他目的)。但对于小桌子来说,这是一个非常可行的解决方案。