开发者社区 问答 正文

mysql如何保留最新10条数据而删除其他记录?

请问mysql如何仅保留最新10条数据而删除其他记录啊?

展开
收起
落地花开啦 2016-02-11 17:25:21 6499 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果想准确控制最多不会超过10条,应该只能用触发器
    如果定时清理,假设是按照主键排序,并且主键是自增
    先查出最新第10个主键ID,然后再删除主键小于"第10个主键ID"的所有记录
    `DELETE tb FROM tb_name AS tb ,(SELECT pk_id FROM tb_name
    ORDER BY pk_id desc LIMIT 9,1) AS tmp
    WHERE tb.pk_id

    2019-07-17 18:40:56
    赞同 展开评论