如何删除mysql中第n行后的每条记录?

Rom*_*man 9 mysql sql

在mysql中,我可以查询select * ... LIMIT 10, 3010表示要跳过的记录数.

有没有人知道我如何在删除语句中做同样的事情,前10条记录后的每条记录都被删除?

Rin*_*g Ø 8

考虑rowId到MySQL中没有(如在Oracle中),我建议如下:

alter table mytable add id int unique auto_increment not null;
Run Code Online (Sandbox Code Playgroud)

这将按照select语句的顺序自动编号您的行,没有条件或顺序.

select * from mytable;
Run Code Online (Sandbox Code Playgroud)

然后,检查订单后是否符合您的需求(也许是表的转储)

delete from mytable where id > 10;
Run Code Online (Sandbox Code Playgroud)

最后,您可能想要删除该字段

alter table mytable drop id;
Run Code Online (Sandbox Code Playgroud)