限制MySql表中的数据

限制MySql表中的数据,mysql,Mysql,我在一个表中有很多关于某些设备的条目,我必须限制每个设备的大小: ENTIRES -ID -DEVICE_ID -TIMESTAMP -VALUE 我想限制每个设备输入100个条目。在mongo中,我会使用封顶集合。我如何在MySql中做到这一点 我可以定期运行count和delete查询,但可能有更好的解决方案吗?使用设备ID计算条目数 SELECT count(*) from ENTIRES where DEVICE_ID = <device_id> 从设备ID= 然后,每

我在一个表中有很多关于某些设备的条目,我必须限制每个设备的大小:

ENTIRES
-ID
-DEVICE_ID
-TIMESTAMP
-VALUE
我想限制每个设备输入100个条目。在mongo中,我会使用封顶集合。我如何在MySql中做到这一点


我可以定期运行count和delete查询,但可能有更好的解决方案吗?

使用设备ID计算条目数

SELECT count(*) from ENTIRES where DEVICE_ID = <device_id>
从设备ID=
然后,每次要在第一个表中添加条目时,检查相应的计数,如果小于100,则执行插入


我了解到您可以执行条件插入,但我不确定它是否可以应用于您的案例

在插入新行之前,您可以使用保存前触发器从表中删除条目(如果计数>100)。

为什么不使用计数函数?我希望总是插入新值,并删除旧值使用计数是个好主意,我正在编辑我的答案以使用计数如果你想保留100个新值,那么如果你自动增加ENTIRES.ID,你可以“选择*from ENTIRES where DEVICE_ID=order by ID”,然后在添加新条目后删除ID较小的条目。