例如:我创建了一个logtable,我希望保留1000条记录的行数限制 ...如果我在1000行之后插入一条记录,那么我的行应该从第一行开始,通过删除或者它是什么。 是mysql中的任何解决方案
任何人都可以帮助答案 0 :(得分:0)
没有超级简单的解决方案,但这是可能的。基本上,你需要做两件事。
第一个是跟踪行插入表中的顺序。 SQL表表示无序集,因此需要明确包含此顺序。一个简单的方法是表的自动递增id。
第二种是向insert
添加触发器。插入新行时,此触发器将删除一行。我建议这个触发器是之后的插入触发器。
您也可以在应用层执行此操作。例如,如果使用存储过程插入新行,则存储过程可以执行delete
以及insert
。
最后,如果目标只是摆脱旧数据,还有其他选择。例如,您可以考虑对表进行分区或调度作业(事件)以定期删除多余的行。