如何删除最旧的mysql表记录,但保留1000条最新记录

如何删除最旧的mysql表记录,但保留1000条最新记录,mysql,sql,Mysql,Sql,What查询删除最早的mysql表记录,但保留1000条最新记录。不管有多少张唱片,我需要1000张最新的 delete from your_table where id not in ( select * from ( select id from your_table order by id desc limit 1000 ) x ) 内部选择返回最近的1000个ID。另一个删除删除所有记录,但从内部选择的记录除外。发布您的表结构,并

What查询删除最早的mysql表记录,但保留1000条最新记录。不管有多少张唱片,我需要1000张最新的

delete from your_table
where id not in
(
   select * from 
   (
      select id from your_table
      order by id desc
      limit 1000
   ) x
)

内部选择返回最近的1000个ID。另一个删除删除所有记录,但从内部选择的记录除外。

发布您的表结构,并根据该表解释最新内容。请显示表的布局。基本上,您需要一个列来指定插入顺序,通常是一个自动递增的id或时间戳列。从表中删除id不在表中的按日期描述从表中选择id限制1000?为什么选择*从。。需要x子查询?在Mysql中,您不能从正在选择的同一个表中删除。但是你可以用中间的另一个子选择来克服这个问题。