is there an SQL command to delete the first X lines of a database table?
I have a database table containing some information but no id or auto-incrementing value and a program that processes the first X lines of this table.
Afterwards these X lines need to be deleted. So the standard query is:
DELETE FROM table WHERE something = value;
So, is there a way to build a query like:
DELETE FROM table WHERE rownumber <= X;
I have tried this command, but nothing happens to the database..
Do you have any clue?
Use
LIMITon your delete:Or, if you don’t want the condition
Remember that the order in which rows will be deleted is undefined – it depends on your DBMS configuration and table indices. You should include an
ORDER BYso that the deletion is done in a defined order, e.g.ORDER BY id ASCto delete the lowest IDs first.See the MySQL documentation for DELETE for more details.