Php 我想在MySQL表中设置最大行数并删除

Php 我想在MySQL表中设置最大行数并删除,php,sql,Php,Sql,我真正想要的是,我想在sql表中插入数据,但我想将表限制为不超过50行,当我插入新数据时,它会在新数据输入时删除旧数据 例如 表i中已有50个数据添加10个新数据,新数据将插入,表显示从开始删除10行。 若数据库中的新数据行10和已有数据为45行,则删除前5行并添加新的5行 所以我需要帮助和建议,如何对表进行限制,当我收到新数据时,若数据超过50行,则从起始行删除一些行 提前感谢为什么?你只是让插入花的时间更长 相反,您可以插入新行并使用自动递增主键。然后,您可以执行以下操作: select t

我真正想要的是,我想在sql表中插入数据,但我想将表限制为不超过50行,当我插入新数据时,它会在新数据输入时删除旧数据 例如 表i中已有50个数据添加10个新数据,新数据将插入,表显示从开始删除10行。 若数据库中的新数据行10和已有数据为45行,则删除前5行并添加新的5行 所以我需要帮助和建议,如何对表进行限制,当我收到新数据时,若数据超过50行,则从起始行删除一些行
提前感谢

为什么?你只是让插入花的时间更长

相反,您可以插入新行并使用自动递增主键。然后,您可以执行以下操作:

select t.*
from t
order by t.id desc
fetch first 50 rows only;
这将获得最近的50行。查询的性能应该相当好

这有什么好处

您可以保存所有数据,这对于查看过去发生的情况非常有用。 性能不受影响。 你可以随时把50换成另一个号码。 您的插入不会因删除而变慢。 不需要处理触发器和其他复杂性。
当然,如果您的表将增长到数千万行,那么这可能不是最佳解决方案,因为表本身将开始为其他目的消耗内存。但对于较小的表,这是一个非常可行的解决方案。

这不是一个免费的“编写我的代码”服务,但我们将尝试帮助您修复代码。你试过什么?你被什么困住了?将流程分解为多个步骤,并尝试为每个部分编写SQL语句。有什么让你困惑的地方吗?看看触发因素。你可以通过在当地报纸上发布一些东西来开始招聘员工,但我不相信人们会告诉你如何免费做事情,更不用说在这里了。搜索信息,自己动手,如果遇到困难,可以问另一个简单、可回答、具体且与编程相关的问题,发布不起作用的代码。好的,谢谢,我会这样做,你的解决方案对我有帮助,我应该在一些表上应用,因为它们很小,但实际上我有脚本,每30秒更新一次,它需要一些数据,有时20,有时10,所以我想缩短表并删除旧的,但我想我应该使用你的查询并对delete进行另一个查询,该查询将检查数据限制为50行,并从一开始删除可能有效的数据。@David。您始终可以定期从表中删除除50个值以外的所有值。即使每30秒插入一次,每天也只有大约3000次插入,所以这并不多。