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?
1. The syntax is as follows: DELETE FROM yourTableName WHERE yourColumnName1=yourValue ORDER BY yourColumnName2 DESC LIMIT 1; The above syntax will delete last record (on condition) from a table.
You could try DELETE FROM table LIMIT 1 . If this doesn't do what you want, you can do something like DELETE FROM table WHERE id=(SELECT id FROM table ORDER BY XXXX ASC LIMIT 1) LIMIT 1 . This second way will allow you to control which row is the top one.
To delete a line, move the cursor to the line you want to delete, and press the Delete function key.
DELETE Syntax DELETE FROM table_name WHERE condition; Note: Be careful when deleting records in a table!
Use LIMIT
on your delete:
DELETE FROM table WHERE condition LIMIT 10
Or, if you don't want the condition
DELETE FROM table LIMIT 10
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 BY
so that the deletion is done in a defined order, e.g. ORDER BY id ASC
to delete the lowest IDs first.
See the MySQL documentation for DELETE for more details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With