Mysql 删除数据库的前X行
是否有SQL命令来删除数据库表的前X行 我有一个数据库表,其中包含一些信息,但没有id或自动递增值,还有一个程序处理该表的前X行。 之后,需要删除这些X行。因此,标准查询是:Mysql 删除数据库的前X行,mysql,sql-delete,Mysql,Sql Delete,是否有SQL命令来删除数据库表的前X行 我有一个数据库表,其中包含一些信息,但没有id或自动递增值,还有一个程序处理该表的前X行。 之后,需要删除这些X行。因此,标准查询是: DELETE FROM table WHERE something = value; 那么,有没有一种方法可以构建如下查询: DELETE FROM table WHERE rownumber <= X; DELETE FROM table,其中rownumber在删除时使用LIMIT: DELETE FROM
DELETE FROM table WHERE something = value;
那么,有没有一种方法可以构建如下查询:
DELETE FROM table WHERE rownumber <= X;
DELETE FROM table,其中rownumber在删除时使用LIMIT
:
DELETE FROM table WHERE condition LIMIT 10
或者,如果你不想要这个条件
DELETE FROM table LIMIT 10
请记住,删除行的顺序是未定义的,这取决于DBMS配置和表索引。您应该包括一个ORDER BY
,以便按照定义的顺序进行删除,例如ORDER BY id ASC
首先删除最低的id
有关详细信息,请参阅。执行此操作时要非常小心。如果添加索引或类似的内容,select的顺序可能会改变。SQL server在不添加where子句的情况下可以最轻松地进行选择。这是正确的。通常的
按订购要求适用。我编辑以反映这一点。谢谢你的回答!我尝试过这个,但不幸的是,它只在给定条件时起作用。所以我现在使用DELETE FROM表,其中a_字段>0限制X代码>到目前为止,这是有效的。谢谢:-)@验尸官,你是想在MySQL工作台上试试吗?如果是这样的话,这是该工具的安全限制,而不是MySQL本身的限制。您应该能够在没有条件的情况下删除。仅供参考:StackExchange注释中的代码使用反勾号,即`some code`
@多项式:再次感谢!您解决了我所有的问题:-)我确实用MySQL Workbench尝试过^^