删除数据库的前X行

时间:2012-10-08 10:37:06

标签: mysql sql-delete

是否有SQL命令删除数据库表的前X行?

我有一个包含一些信息但没有id或自动递增值的数据库表,以及一个处理该表的前X行的程序。 之后需要删除这些X行。所以标准查询是:

DELETE FROM table WHERE something = value;

那么,有没有办法构建如下的查询:

DELETE FROM table WHERE rownumber <= X;

我试过这个命令,但数据库没有任何反应.. 你有什么线索吗?

1 个答案:

答案 0 :(得分:39)

在删除时使用LIMIT

DELETE FROM table WHERE condition LIMIT 10

或者,如果你不想要这个条件

DELETE FROM table LIMIT 10

请记住,删除行的顺序是未定义的 - 它取决于您的DBMS配置和表索引。您应该包含ORDER BY,以便按照定义的顺序进行删除,例如ORDER BY id ASC首先删除最低ID。

有关详细信息,请参阅MySQL documentation for DELETE